home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 2000 November: Tool Chest / Dev.CD Nov 00 TC Disk 2.toast / pc / tool chest / macapp / ad lib 3.0.1 / install ad lib 3.0.1 / Ad Lib 3.0.1 / MacApp Extensions / UHandlerBehavior.cpp < prev    next >
MacBinary  |  1999-01-17  |  27.1 KB  |  [TEXT/CWIE]

open in: MacOS 8.1     |     Win98     |     DOS

browse contents    |     view JSON data     |     view as text


This file was processed as: MacBinary (archive/macBinary).

ConfidenceProgramDetectionMatch TypeSupport
10% dexvert MacBinary (archive/macBinary) fallback Supported
1% dexvert Text File (text/txt) fallback Supported
100% file MacBinary II, inited, Sun Jan 17 14:54:49 1999, modified Sun Jan 17 14:54:49 1999, creator 'CWIE', type ASCII, 27018 bytes "UHandlerBehavior.cpp" , at 0x6a0a 474 bytes resource default (weak)
99% file data default
49% TrID Macintosh plain text (MacBinary) default
33% TrID raw Group 3 FAX bitmap default (weak)
16% TrID MacBinary 2 default (weak)
100% siegfried fmt/1762 MacBinary (II) default
100% lsar MacBinary default


id metadata
keyvalue
macFileType[TEXT]
macFileCreator[CWIE]



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 00 14 55 48 61 6e 64 6c | 65 72 42 65 68 61 76 69 |..UHandl|erBehavi|
|00000010| 6f 72 2e 63 70 70 00 00 | 00 00 00 00 00 00 00 00 |or.cpp..|........|
|00000020| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000030| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000040| 00 54 45 58 54 43 57 49 | 45 01 00 00 00 00 00 00 |.TEXTCWI|E.......|
|00000050| 00 00 00 00 00 69 8a 00 | 00 01 da b2 c7 f0 89 b2 |.....i..|........|
|00000060| c7 f0 89 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000070| 00 00 00 00 00 00 00 00 | 00 00 81 81 e6 9d 00 00 |........|........|
|00000080| 2f 2f 09 55 48 61 6e 64 | 6c 65 72 42 65 68 61 76 |//.UHand|lerBehav|
|00000090| 69 6f 72 2e 63 70 0d 2f | 2f 09 43 6f 70 79 72 69 |ior.cp./|/.Copyri|
|000000a0| 67 68 74 20 a9 20 31 39 | 39 32 2d 31 39 39 36 20 |ght . 19|92-1996 |
|000000b0| 4e 69 63 6b 20 4e 61 6c | 6c 69 63 6b 2e 20 20 41 |Nick Nal|lick. A|
|000000c0| 6c 6c 20 72 69 67 68 74 | 73 20 72 65 73 65 72 76 |ll right|s reserv|
|000000d0| 65 64 2e 0d 2f 2f 0d 2f | 2f 09 43 68 61 6e 67 65 |ed..//./|/.Change|
|000000e0| 73 3a 0d 2f 2f 0d 2f 2f | 09 09 a5 ca 55 73 65 20 |s:.//.//|....Use |
|000000f0| 70 65 72 6d 61 6e 65 6e | 74 20 6d 65 6d 6f 72 79 |permanen|t memory|
|00000100| 2e 0d 2f 2f 09 09 a5 09 | 41 64 64 20 4d 61 63 41 |..//....|Add MacA|
|00000110| 70 70 20 33 2e 33 20 63 | 6f 6d 70 61 74 69 62 69 |pp 3.3 c|ompatibi|
|00000120| 6c 69 74 79 2e 0d 2f 2f | 09 09 a5 09 41 64 64 20 |lity..//|....Add |
|00000130| 4d 61 63 41 70 70 20 33 | 2e 31 20 63 6f 6d 70 61 |MacApp 3|.1 compa|
|00000140| 74 69 62 69 6c 69 74 79 | 2e 0d 2f 2f 09 09 a5 09 |tibility|..//....|
|00000150| 52 65 6d 6f 76 65 20 74 | 68 65 20 48 53 63 72 61 |Remove t|he HScra|
|00000160| 74 63 68 20 63 6c 61 73 | 73 20 66 72 6f 6d 20 74 |tch clas|s from t|
|00000170| 68 65 20 68 65 61 64 65 | 72 20 74 6f 20 6d 61 6b |he heade|r to mak|
|00000180| 65 20 69 74 20 6d 6f 72 | 65 20 6f 70 61 71 75 65 |e it mor|e opaque|
|00000190| 2e 0d 2f 2f 09 09 a5 09 | 53 75 62 73 74 69 74 75 |..//....|Substitu|
|000001a0| 74 65 20 48 4c 6f 63 6b | 28 66 48 61 6e 64 6c 65 |te HLock|(fHandle|
|000001b0| 72 44 61 74 61 29 20 66 | 6f 72 20 4c 6f 63 6b 28 |rData) f|or Lock(|
|000001c0| 29 20 6d 65 6d 62 65 72 | 2e 0d 2f 2f 09 09 a5 09 |) member|..//....|
|000001d0| 46 69 78 20 62 75 67 20 | 72 65 61 64 69 6e 67 20 |Fix bug |reading |
|000001e0| 6d 75 6c 74 69 70 6c 65 | 20 76 65 72 73 69 6f 6e |multiple| version|
|000001f0| 20 32 20 68 61 6e 64 6c | 65 72 73 20 62 79 20 70 | 2 handl|ers by p|
|00000200| 61 64 64 69 6e 67 20 68 | 61 6e 64 6c 65 72 73 20 |adding h|andlers |
|00000210| 74 6f 20 61 6e 20 65 76 | 65 6e 20 77 6f 72 64 2e |to an ev|en word.|
|00000220| 0d 2f 2f 09 09 a5 09 41 | 64 64 20 76 65 72 73 69 |.//....A|dd versi|
|00000230| 6f 6e 20 32 20 74 6f 20 | 72 65 73 6f 75 72 63 65 |on 2 to |resource|
|00000240| 20 66 69 6c 65 20 66 6f | 72 6d 61 74 20 74 6f 20 | file fo|rmat to |
|00000250| 66 61 63 69 6c 69 74 61 | 74 65 20 52 65 7a 20 61 |facilita|te Rez a|
|00000260| 6e 64 20 44 65 52 65 7a | 2e 0d 2f 2f 09 09 a5 09 |nd DeRez|..//....|
|00000270| 53 61 76 65 20 64 79 6e | 61 6d 69 63 20 64 61 74 |Save dyn|amic dat|
|00000280| 61 20 69 6e 20 61 20 68 | 61 6e 64 6c 65 20 28 66 |a in a h|andle (f|
|00000290| 48 61 6e 64 6c 65 72 44 | 61 74 61 29 20 74 6f 20 |HandlerD|ata) to |
|000002a0| 62 65 20 63 6f 6d 70 61 | 74 69 62 6c 65 20 77 69 |be compa|tible wi|
|000002b0| 74 68 20 4d 61 63 41 70 | 70 20 33 2e 31 2e 0d 2f |th MacAp|p 3.1../|
|000002c0| 2f 09 09 a5 09 46 69 78 | 20 62 75 67 20 77 68 65 |/....Fix| bug whe|
|000002d0| 6e 20 75 73 69 6e 67 20 | 57 69 6e 64 6f 77 20 28 |n using |Window (|
|000002e0| 62 79 20 49 44 29 20 74 | 61 72 67 65 74 20 6d 6f |by ID) t|arget mo|
|000002f0| 64 65 20 28 74 68 61 6e | 6b 73 20 56 69 6b 74 6f |de (than|ks Vikto|
|00000300| 72 29 2e 0d 2f 2f 09 09 | a5 20 41 64 64 20 44 65 |r)..//..|. Add De|
|00000310| 70 65 6e 64 73 20 4f 6e | 20 26 20 44 6f 65 73 6e |pends On| & Doesn|
|00000320| 27 74 20 44 65 70 65 6e | 64 20 4f 6e 20 61 63 74 |'t Depen|d On act|
|00000330| 69 6f 6e 73 2e 0d 2f 2f | 09 09 a5 20 41 64 64 20 |ions..//|... Add |
|00000340| 41 64 64 20 44 65 70 65 | 6e 64 65 6e 74 20 26 20 |Add Depe|ndent & |
|00000350| 52 65 6d 6f 76 65 20 44 | 65 70 65 6e 64 65 6e 74 |Remove D|ependent|
|00000360| 20 61 63 74 69 6f 6e 73 | 2e 0d 2f 2f 09 09 a5 20 | actions|..//... |
|00000370| 43 68 65 63 6b 20 77 69 | 74 68 20 41 70 70 6c 65 |Check wi|th Apple|
|00000380| 45 76 65 6e 74 20 6d 61 | 6e 61 67 65 72 20 62 65 |Event ma|nager be|
|00000390| 66 6f 72 65 20 70 6f 73 | 69 6e 67 20 61 20 6d 6f |fore pos|ing a mo|
|000003a0| 64 61 6c 20 64 69 61 6c | 6f 67 2e 0d 2f 2f 09 09 |dal dial|og..//..|
|000003b0| a5 20 46 69 78 20 62 75 | 67 20 74 68 61 74 20 6f |. Fix bu|g that o|
|000003c0| 63 63 75 72 65 64 20 77 | 68 65 6e 20 74 68 65 20 |ccured w|hen the |
|000003d0| 68 61 6e 64 6c 65 72 20 | 62 65 68 61 76 69 6f 72 |handler |behavior|
|000003e0| 20 77 61 73 20 64 65 6c | 65 74 65 64 20 62 65 66 | was del|eted bef|
|000003f0| 6f 72 65 20 74 68 65 0d | 2f 2f 09 09 20 20 69 6e |ore the.|//.. in|
|00000400| 69 74 69 61 6c 69 7a 65 | 20 63 6f 6d 6d 61 6e 64 |itialize| command|
|00000410| 20 68 61 73 20 68 61 64 | 20 61 20 63 68 61 6e 63 | has had| a chanc|
|00000420| 65 20 74 6f 20 65 78 65 | 63 75 74 65 20 62 79 20 |e to exe|cute by |
|00000430| 64 65 66 65 72 69 6e 67 | 20 74 68 65 20 64 65 6c |defering| the del|
|00000440| 65 74 65 2e 0d 2f 2f 0d | 0d 23 69 6e 63 6c 75 64 |ete..//.|.#includ|
|00000450| 65 20 22 55 48 61 6e 64 | 6c 65 72 42 65 68 61 76 |e "UHand|lerBehav|
|00000460| 69 6f 72 2e 68 22 0d 0d | 23 70 72 61 67 6d 61 20 |ior.h"..|#pragma |
|00000470| 73 65 67 6d 65 6e 74 20 | 48 61 6e 64 6c 65 72 42 |segment |HandlerB|
|00000480| 65 68 61 76 69 6f 72 0d | 0d 63 6f 6e 73 74 20 73 |ehavior.|.const s|
|00000490| 68 6f 72 74 09 09 6b 56 | 65 72 73 69 6f 6e 4e 75 |hort..kV|ersionNu|
|000004a0| 6d 20 3d 09 32 3b 0d 0d | 74 79 70 65 64 65 66 20 |m =.2;..|typedef |
|000004b0| 65 6e 75 6d 0d 7b 0d 09 | 6b 41 70 70 6c 65 43 6f |enum.{..|kAppleCo|
|000004c0| 6d 6d 61 6e 64 4d 61 73 | 6b 09 3d 20 30 78 31 2c |mmandMas|k.= 0x1,|
|000004d0| 0d 09 6b 43 6f 6d 6d 61 | 6e 64 4b 65 79 4d 61 73 |..kComma|ndKeyMas|
|000004e0| 6b 09 09 3d 20 30 78 32 | 2c 0d 09 6b 45 76 65 6e |k..= 0x2|,..kEven|
|000004f0| 74 4d 61 73 6b 09 09 09 | 09 3d 20 30 78 34 2c 0d |tMask...|.= 0x4,.|
|00000500| 09 6b 49 64 6c 65 4d 61 | 73 6b 09 09 09 09 09 3d |.kIdleMa|sk.....=|
|00000510| 20 30 78 38 2c 0d 09 6b | 49 6e 69 74 69 61 6c 69 | 0x8,..k|Initiali|
|00000520| 7a 65 4d 61 73 6b 09 09 | 3d 20 30 78 31 30 2c 0d |zeMask..|= 0x10,.|
|00000530| 09 6b 4b 65 79 44 6f 77 | 6e 4d 61 73 6b 09 09 09 |.kKeyDow|nMask...|
|00000540| 3d 20 30 78 32 30 2c 0d | 09 6b 4b 65 79 55 70 4d |= 0x20,.|.kKeyUpM|
|00000550| 61 73 6b 09 09 09 09 3d | 20 30 78 34 30 2c 0d 09 |ask....=| 0x40,..|
|00000560| 6b 4d 65 6e 75 43 6f 6d | 6d 61 6e 64 4d 61 73 6b |kMenuCom|mandMask|
|00000570| 09 3d 20 30 78 38 30 2c | 0d 09 6b 4d 6f 75 73 65 |.= 0x80,|..kMouse|
|00000580| 44 6f 77 6e 4d 61 73 6b | 09 09 3d 20 30 78 31 30 |DownMask|..= 0x10|
|00000590| 30 2c 0d 09 6b 4d 6f 75 | 73 65 55 70 4d 61 73 6b |0,..kMou|seUpMask|
|000005a0| 09 09 09 3d 20 30 78 32 | 30 30 2c 0d 09 6b 53 65 |...= 0x2|00,..kSe|
|000005b0| 74 75 70 4d 65 6e 75 4d | 61 73 6b 09 09 3d 20 30 |tupMenuM|ask..= 0|
|000005c0| 78 34 30 30 2c 0d 09 6b | 55 70 64 61 74 65 4d 61 |x400,..k|UpdateMa|
|000005d0| 73 6b 09 09 09 09 3d 20 | 30 78 38 30 30 2c 0d 09 |sk....= |0x800,..|
|000005e0| 6b 54 72 69 65 64 54 6f | 46 72 65 65 4d 61 73 6b |kTriedTo|FreeMask|
|000005f0| 09 3d 20 30 78 38 30 30 | 30 0d 7d 20 6d 65 73 73 |.= 0x800|0.} mess|
|00000600| 61 67 65 4d 61 73 6b 3b | 0d 0d 0d 2f 2f 2f 2f 2f |ageMask;|.../////|
|00000610| 2f 2f 2f 2f 2f 2f 2f 2f | 2f 2f 2f 2f 2f 2f 2f 2f |////////|////////|
|00000620| 2f 2f 2f 2f 2f 2f 2f 2f | 2f 2f 2f 2f 2f 20 48 53 |////////|///// HS|
|00000630| 63 72 61 74 63 68 20 2f | 2f 2f 2f 2f 2f 2f 2f 2f |cratch /|////////|
|00000640| 2f 2f 2f 2f 2f 2f 2f 2f | 2f 2f 2f 2f 2f 2f 2f 2f |////////|////////|
|00000650| 2f 2f 2f 2f 2f 2f 2f 2f | 2f 0d 2f 2f 0d 2f 2f 09 |////////|/.//.//.|
|00000660| 41 20 70 72 69 76 61 74 | 65 20 64 61 74 61 20 63 |A privat|e data c|
|00000670| 6c 61 73 73 20 75 73 65 | 64 20 77 68 69 6c 65 20 |lass use|d while |
|00000680| 70 61 72 73 69 6e 67 20 | 6d 65 73 73 61 67 65 73 |parsing |messages|
|00000690| 2e 0d 2f 2f 0d 0d 73 74 | 72 75 63 74 20 48 53 63 |..//..st|ruct HSc|
|000006a0| 72 61 74 63 68 0d 7b 0d | 09 48 53 63 72 61 74 63 |ratch.{.|.HScratc|
|000006b0| 68 28 54 42 65 68 61 76 | 69 6f 72 2a 20 74 68 65 |h(TBehav|ior* the|
|000006c0| 42 65 68 61 76 69 6f 72 | 29 3b 0d 0d 09 54 42 65 |Behavior|);...TBe|
|000006d0| 68 61 76 69 6f 72 2a 09 | 62 65 68 61 76 69 6f 72 |havior*.|behavior|
|000006e0| 3b 0d 09 6c 6f 6e 67 09 | 09 09 09 64 61 74 61 4f |;..long.|...dataO|
|000006f0| 66 66 73 65 74 3b 0d 09 | 42 4f 4f 4c 45 41 4e 09 |ffset;..|BOOLEAN.|
|00000700| 09 09 62 65 68 61 76 69 | 6f 72 46 72 65 65 64 3b |..behavi|orFreed;|
|00000710| 0d 7d 3b 0d 0d 48 53 63 | 72 61 74 63 68 3a 3a 48 |.};..HSc|ratch::H|
|00000720| 53 63 72 61 74 63 68 28 | 54 42 65 68 61 76 69 6f |Scratch(|TBehavio|
|00000730| 72 2a 20 74 68 65 42 65 | 68 61 76 69 6f 72 29 0d |r* theBe|havior).|
|00000740| 7b 0d 09 62 65 68 61 76 | 69 6f 72 20 3d 20 74 68 |{..behav|ior = th|
|00000750| 65 42 65 68 61 76 69 6f | 72 3b 0d 09 64 61 74 61 |eBehavio|r;..data|
|00000760| 4f 66 66 73 65 74 20 3d | 20 30 3b 0d 09 62 65 68 |Offset =| 0;..beh|
|00000770| 61 76 69 6f 72 46 72 65 | 65 64 20 3d 20 46 41 4c |aviorFre|ed = FAL|
|00000780| 53 45 3b 0d 7d 0d 0d 0d | 2f 2f 2f 2f 2f 2f 2f 2f |SE;.}...|////////|
|00000790| 2f 2f 2f 2f 2f 2f 2f 2f | 2f 2f 2f 2f 2f 2f 2f 2f |////////|////////|
|000007a0| 2f 2f 2f 2f 2f 20 54 48 | 61 6e 64 6c 65 72 49 6e |///// TH|andlerIn|
|000007b0| 69 74 4d 73 67 43 6d 64 | 20 2f 2f 2f 2f 2f 2f 2f |itMsgCmd| ///////|
|000007c0| 2f 2f 2f 2f 2f 2f 2f 2f | 2f 2f 2f 2f 2f 2f 2f 2f |////////|////////|
|000007d0| 2f 2f 2f 2f 2f 2f 0d 2f | 2f 0d 2f 2f 09 41 20 63 |//////./|/.//.A c|
|000007e0| 6f 6d 6d 61 6e 64 20 74 | 6f 20 64 65 61 6c 20 77 |ommand t|o deal w|
|000007f0| 69 74 68 20 69 6e 69 74 | 69 61 6c 69 7a 65 20 6d |ith init|ialize m|
|00000800| 65 73 73 61 67 65 73 20 | 74 6f 20 68 61 6e 64 6c |essages |to handl|
|00000810| 65 72 73 2e 0d 2f 2f 09 | 54 68 69 73 20 69 73 20 |ers..//.|This is |
|00000820| 64 6f 6e 65 20 77 69 74 | 68 20 61 20 63 6f 6d 6d |done wit|h a comm|
|00000830| 61 6e 64 20 74 6f 20 61 | 6c 6c 6f 77 20 65 76 65 |and to a|llow eve|
|00000840| 72 79 74 68 69 6e 67 20 | 61 20 63 68 61 6e 63 65 |rything |a chance|
|00000850| 20 74 6f 20 73 74 61 62 | 69 6c 69 7a 65 0d 2f 2f | to stab|ilize.//|
|00000860| 09 62 65 66 6f 72 65 20 | 77 65 20 73 74 61 72 74 |.before |we start|
|00000870| 20 73 65 6e 64 69 6e 67 | 20 6d 65 73 73 61 67 65 | sending| message|
|00000880| 73 20 61 72 6f 75 6e 64 | 20 74 68 65 20 73 79 73 |s around| the sys|
|00000890| 74 65 6d 2e 0d 2f 2f 0d | 0d 63 6c 61 73 73 20 54 |tem..//.|.class T|
|000008a0| 48 61 6e 64 6c 65 72 49 | 6e 69 74 4d 73 67 43 6d |HandlerI|nitMsgCm|
|000008b0| 64 20 3a 20 70 75 62 6c | 69 63 20 54 43 6f 6d 6d |d : publ|ic TComm|
|000008c0| 61 6e 64 0d 7b 0d 09 70 | 75 62 6c 69 63 3a 0d 09 |and.{..p|ublic:..|
|000008d0| 09 56 49 52 54 55 41 4c | 20 76 6f 69 64 09 09 09 |.VIRTUAL| void...|
|000008e0| 09 44 6f 49 74 28 29 3b | 0d 0d 23 69 66 20 71 4d |.DoIt();|..#if qM|
|000008f0| 61 63 41 70 70 56 65 72 | 73 69 6f 6e 20 3c 3d 20 |acAppVer|sion <= |
|00000900| 33 33 0d 09 09 09 09 09 | 09 76 6f 69 64 09 09 09 |33......|.void...|
|00000910| 09 49 48 61 6e 64 6c 65 | 72 49 6e 69 74 4d 73 67 |.IHandle|rInitMsg|
|00000920| 43 6d 64 28 54 48 61 6e | 64 6c 65 72 42 65 68 61 |Cmd(THan|dlerBeha|
|00000930| 76 69 6f 72 2a 20 68 61 | 6e 64 6c 65 72 29 3b 0d |vior* ha|ndler);.|
|00000940| 23 65 6c 73 65 0d 09 09 | 09 09 09 09 09 09 09 09 |#else...|........|
|00000950| 09 09 54 48 61 6e 64 6c | 65 72 49 6e 69 74 4d 73 |..THandl|erInitMs|
|00000960| 67 43 6d 64 28 54 48 61 | 6e 64 6c 65 72 42 65 68 |gCmd(THa|ndlerBeh|
|00000970| 61 76 69 6f 72 2a 20 68 | 61 6e 64 6c 65 72 29 3b |avior* h|andler);|
|00000980| 0d 09 09 76 69 72 74 75 | 61 6c 09 09 09 09 09 09 |...virtu|al......|
|00000990| 7e 09 54 48 61 6e 64 6c | 65 72 49 6e 69 74 4d 73 |~.THandl|erInitMs|
|000009a0| 67 43 6d 64 28 29 3b 0d | 09 09 76 69 72 74 75 61 |gCmd();.|..virtua|
|000009b0| 6c 20 76 6f 69 64 09 09 | 09 09 44 6f 55 70 64 61 |l void..|..DoUpda|
|000009c0| 74 65 28 43 68 61 6e 67 | 65 49 44 5f 41 43 20 74 |te(Chang|eID_AC t|
|000009d0| 68 65 43 68 61 6e 67 65 | 2c 20 4d 44 65 70 65 6e |heChange|, MDepen|
|000009e0| 64 61 62 6c 65 5f 41 43 | 2a 20 63 68 61 6e 67 65 |dable_AC|* change|
|000009f0| 64 4f 62 6a 65 63 74 2c | 20 76 6f 69 64 2a 20 63 |dObject,| void* c|
|00000a00| 68 61 6e 67 65 44 61 74 | 61 2c 20 43 44 65 70 65 |hangeDat|a, CDepe|
|00000a10| 6e 64 65 6e 63 79 53 70 | 61 63 65 5f 41 43 2a 20 |ndencySp|ace_AC* |
|00000a20| 64 65 70 65 6e 64 65 6e | 63 79 53 70 61 63 65 29 |dependen|cySpace)|
|00000a30| 3b 0d 23 65 6e 64 69 66 | 0d 0d 09 70 72 69 76 61 |;.#endif|...priva|
|00000a40| 74 65 3a 0d 09 09 54 48 | 61 6e 64 6c 65 72 42 65 |te:...TH|andlerBe|
|00000a50| 68 61 76 69 6f 72 2a 09 | 09 66 48 61 6e 64 6c 65 |havior*.|.fHandle|
|00000a60| 72 3b 0d 7d 3b 0d 0d 0d | 2f 2f 09 4f 76 65 72 72 |r;.};...|//.Overr|
|00000a70| 69 64 65 73 20 54 43 6f | 6d 6d 61 6e 64 2e 0d 2f |ides TCo|mmand../|
|00000a80| 2f 09 48 61 6e 64 6c 65 | 20 74 68 65 20 69 6e 69 |/.Handle| the ini|
|00000a90| 74 69 61 6c 69 7a 65 20 | 6d 65 73 73 61 67 65 20 |tialize |message |
|00000aa0| 66 6f 72 20 74 68 65 20 | 68 61 6e 64 6c 65 72 2e |for the |handler.|
|00000ab0| 0d 2f 2f 0d 4d 41 43 41 | 50 50 5f 4d 45 54 48 4f |.//.MACA|PP_METHO|
|00000ac0| 44 0d 76 6f 69 64 20 54 | 48 61 6e 64 6c 65 72 49 |D.void T|HandlerI|
|00000ad0| 6e 69 74 4d 73 67 43 6d | 64 3a 3a 44 6f 49 74 28 |nitMsgCm|d::DoIt(|
|00000ae0| 29 0d 7b 0d 23 69 66 20 | 71 4d 61 63 41 70 70 56 |).{.#if |qMacAppV|
|00000af0| 65 72 73 69 6f 6e 20 3c | 3d 20 33 33 0d 09 66 48 |ersion <|= 33..fH|
|00000b00| 61 6e 64 6c 65 72 2d 3e | 66 48 61 6e 64 6c 65 72 |andler->|fHandler|
|00000b10| 73 20 26 3d 20 7e 6b 49 | 6e 69 74 69 61 6c 69 7a |s &= ~kI|nitializ|
|00000b20| 65 4d 61 73 6b 3b 09 09 | 2f 2f 20 63 6c 65 61 72 |eMask;..|// clear|
|00000b30| 20 74 68 65 20 69 6e 69 | 74 20 62 69 74 20 73 6f | the ini|t bit so|
|00000b40| 20 69 74 20 63 61 6e 20 | 62 65 20 66 72 65 65 64 | it can |be freed|
|00000b50| 0d 09 69 66 20 28 66 48 | 61 6e 64 6c 65 72 2d 3e |..if (fH|andler->|
|00000b60| 66 48 61 6e 64 6c 65 72 | 73 20 26 20 6b 54 72 69 |fHandler|s & kTri|
|00000b70| 65 64 54 6f 46 72 65 65 | 4d 61 73 6b 29 09 2f 2f |edToFree|Mask).//|
|00000b80| 20 73 6f 6d 65 62 6f 64 | 79 20 74 72 69 65 64 20 | somebod|y tried |
|00000b90| 74 6f 20 66 72 65 65 20 | 69 74 0d 09 09 66 48 61 |to free |it...fHa|
|00000ba0| 6e 64 6c 65 72 2d 3e 46 | 72 65 65 28 29 3b 0d 09 |ndler->F|ree();..|
|00000bb0| 65 6c 73 65 0d 23 65 6c | 73 65 0d 23 65 6e 64 69 |else.#el|se.#endi|
|00000bc0| 66 0d 09 7b 0d 09 09 69 | 66 20 28 66 48 61 6e 64 |f..{...i|f (fHand|
|00000bd0| 6c 65 72 20 26 26 20 66 | 48 61 6e 64 6c 65 72 2d |ler && f|Handler-|
|00000be0| 3e 49 73 45 6e 61 62 6c | 65 64 28 29 29 0d 09 09 |>IsEnabl|ed())...|
|00000bf0| 7b 0d 09 09 09 2f 2f 20 | 74 68 65 72 65 27 73 20 |{....// |there's |
|00000c00| 6e 6f 74 68 69 6e 67 20 | 74 6f 20 66 6f 72 77 61 |nothing |to forwa|
|00000c10| 72 64 20 74 6f 20 73 6f | 20 6a 75 73 74 20 6c 6f |rd to so| just lo|
|00000c20| 6f 70 20 75 6e 74 69 6c | 20 77 65 27 72 65 20 64 |op until| we're d|
|00000c30| 6f 6e 65 0d 09 09 09 48 | 53 63 72 61 74 63 68 20 |one....H|Scratch |
|00000c40| 73 63 72 61 74 63 68 28 | 66 48 61 6e 64 6c 65 72 |scratch(|fHandler|
|00000c50| 29 3b 0d 09 09 09 77 68 | 69 6c 65 20 28 66 48 61 |);....wh|ile (fHa|
|00000c60| 6e 64 6c 65 72 20 26 26 | 20 66 48 61 6e 64 6c 65 |ndler &&| fHandle|
|00000c70| 72 2d 3e 68 61 6e 64 6c | 65 4d 65 73 73 61 67 65 |r->handl|eMessage|
|00000c80| 28 6b 49 6e 69 74 69 61 | 6c 69 7a 65 4d 73 67 2c |(kInitia|lizeMsg,|
|00000c90| 20 30 2c 20 26 73 63 72 | 61 74 63 68 29 29 0d 09 | 0, &scr|atch))..|
|00000ca0| 09 09 09 3b 0d 09 09 7d | 0d 09 7d 0d 7d 0d 0d 23 |...;...}|..}.}..#|
|00000cb0| 69 66 20 71 4d 61 63 41 | 70 70 56 65 72 73 69 6f |if qMacA|ppVersio|
|00000cc0| 6e 20 3c 3d 20 33 33 0d | 0d 2f 2f 09 49 6e 69 74 |n <= 33.|.//.Init|
|00000cd0| 69 61 6c 69 7a 65 20 74 | 68 65 20 63 6f 6d 6d 61 |ialize t|he comma|
|00000ce0| 6e 64 2e 0d 2f 2f 0d 76 | 6f 69 64 20 54 48 61 6e |nd..//.v|oid THan|
|00000cf0| 64 6c 65 72 49 6e 69 74 | 4d 73 67 43 6d 64 3a 3a |dlerInit|MsgCmd::|
|00000d00| 49 48 61 6e 64 6c 65 72 | 49 6e 69 74 4d 73 67 43 |IHandler|InitMsgC|
|00000d10| 6d 64 28 54 48 61 6e 64 | 6c 65 72 42 65 68 61 76 |md(THand|lerBehav|
|00000d20| 69 6f 72 2a 20 68 61 6e | 64 6c 65 72 29 0d 7b 0d |ior* han|dler).{.|
|00000d30| 09 49 43 6f 6d 6d 61 6e | 64 28 30 2c 20 4e 55 4c |.IComman|d(0, NUL|
|00000d40| 4c 2c 20 46 41 4c 53 45 | 2c 20 46 41 4c 53 45 2c |L, FALSE|, FALSE,|
|00000d50| 20 4e 55 4c 4c 29 3b 0d | 09 66 48 61 6e 64 6c 65 | NULL);.|.fHandle|
|00000d60| 72 20 3d 20 68 61 6e 64 | 6c 65 72 3b 0d 7d 0d 0d |r = hand|ler;.}..|
|00000d70| 23 65 6c 73 65 0d 0d 2f | 2f 09 49 6e 69 74 69 61 |#else../|/.Initia|
|00000d80| 6c 69 7a 65 20 74 68 65 | 20 63 6f 6d 6d 61 6e 64 |lize the| command|
|00000d90| 2e 0d 2f 2f 0d 54 48 61 | 6e 64 6c 65 72 49 6e 69 |..//.THa|ndlerIni|
|00000da0| 74 4d 73 67 43 6d 64 3a | 3a 54 48 61 6e 64 6c 65 |tMsgCmd:|:THandle|
|00000db0| 72 49 6e 69 74 4d 73 67 | 43 6d 64 28 54 48 61 6e |rInitMsg|Cmd(THan|
|00000dc0| 64 6c 65 72 42 65 68 61 | 76 69 6f 72 2a 20 68 61 |dlerBeha|vior* ha|
|00000dd0| 6e 64 6c 65 72 29 20 3a | 0d 09 54 43 6f 6d 6d 61 |ndler) :|..TComma|
|00000de0| 6e 64 28 30 2c 20 4e 55 | 4c 4c 2c 20 66 61 6c 73 |nd(0, NU|LL, fals|
|00000df0| 65 2c 20 66 61 6c 73 65 | 2c 20 4e 55 4c 4c 29 2c |e, false|, NULL),|
|00000e00| 0d 09 66 48 61 6e 64 6c | 65 72 28 68 61 6e 64 6c |..fHandl|er(handl|
|00000e10| 65 72 29 0d 7b 0d 09 41 | 64 64 44 65 70 65 6e 64 |er).{..A|ddDepend|
|00000e20| 65 6e 74 28 68 61 6e 64 | 6c 65 72 29 3b 09 2f 2f |ent(hand|ler);.//|
|00000e30| 20 77 65 20 77 61 6e 74 | 20 74 6f 20 62 65 20 6e | we want| to be n|
|00000e40| 6f 74 69 66 69 65 64 20 | 77 68 65 6e 20 74 68 69 |otified |when thi|
|00000e50| 73 20 6f 62 6a 65 63 74 | 20 69 73 20 64 65 6c 65 |s object| is dele|
|00000e60| 74 65 64 0d 7d 0d 0d 23 | 69 66 20 71 4d 61 63 41 |ted.}..#|if qMacA|
|00000e70| 70 70 56 65 72 73 69 6f | 6e 20 3e 20 33 33 0d 0d |ppVersio|n > 33..|
|00000e80| 76 6f 69 64 20 54 48 61 | 6e 64 6c 65 72 49 6e 69 |void THa|ndlerIni|
|00000e90| 74 4d 73 67 43 6d 64 3a | 3a 44 6f 55 70 64 61 74 |tMsgCmd:|:DoUpdat|
|00000ea0| 65 28 43 68 61 6e 67 65 | 49 44 5f 41 43 20 74 68 |e(Change|ID_AC th|
|00000eb0| 65 43 68 61 6e 67 65 2c | 20 4d 44 65 70 65 6e 64 |eChange,| MDepend|
|00000ec0| 61 62 6c 65 5f 41 43 2a | 20 63 68 61 6e 67 65 64 |able_AC*| changed|
|00000ed0| 4f 62 6a 65 63 74 2c 20 | 76 6f 69 64 2a 20 63 68 |Object, |void* ch|
|00000ee0| 61 6e 67 65 44 61 74 61 | 2c 20 43 44 65 70 65 6e |angeData|, CDepen|
|00000ef0| 64 65 6e 63 79 53 70 61 | 63 65 5f 41 43 2a 20 64 |dencySpa|ce_AC* d|
|00000f00| 65 70 65 6e 64 65 6e 63 | 79 53 70 61 63 65 29 0d |ependenc|ySpace).|
|00000f10| 7b 0d 09 69 66 20 28 74 | 68 65 43 68 61 6e 67 65 |{..if (t|heChange|
|00000f20| 20 3d 3d 20 6d 43 6c 6f | 73 65 64 20 26 26 20 63 | == mClo|sed && c|
|00000f30| 68 61 6e 67 65 64 4f 62 | 6a 65 63 74 20 3d 3d 20 |hangedOb|ject == |
|00000f40| 66 48 61 6e 64 6c 65 72 | 29 0d 09 7b 0d 09 09 66 |fHandler|)..{...f|
|00000f50| 48 61 6e 64 6c 65 72 20 | 3d 20 4e 55 4c 4c 3b 0d |Handler |= NULL;.|
|00000f60| 09 7d 0d 09 65 6c 73 65 | 0d 09 09 54 43 6f 6d 6d |.}..else|...TComm|
|00000f70| 61 6e 64 3a 3a 44 6f 55 | 70 64 61 74 65 28 74 68 |and::DoU|pdate(th|
|00000f80| 65 43 68 61 6e 67 65 2c | 20 63 68 61 6e 67 65 64 |eChange,| changed|
|00000f90| 4f 62 6a 65 63 74 2c 20 | 63 68 61 6e 67 65 44 61 |Object, |changeDa|
|00000fa0| 74 61 2c 20 64 65 70 65 | 6e 64 65 6e 63 79 53 70 |ta, depe|ndencySp|
|00000fb0| 61 63 65 29 3b 0d 7d 0d | 0d 2f 2f 20 41 64 64 65 |ace);.}.|.// Adde|
|00000fc0| 64 20 64 65 73 74 72 75 | 63 74 6f 72 09 2d 2d 09 |d destru|ctor.--.|
|00000fd0| 4d 42 2d 39 38 30 35 2d | 32 39 2d 31 39 34 34 0d |MB-9805-|29-1944.|
|00000fe0| 54 48 61 6e 64 6c 65 72 | 49 6e 69 74 4d 73 67 43 |THandler|InitMsgC|
|00000ff0| 6d 64 3a 3a 7e 54 48 61 | 6e 64 6c 65 72 49 6e 69 |md::~THa|ndlerIni|
|00001000| 74 4d 73 67 43 6d 64 28 | 29 0d 7b 0d 7d 0d 0d 23 |tMsgCmd(|).{.}..#|
|00001010| 65 6e 64 69 66 0d 0d 23 | 65 6e 64 69 66 0d 0d 2f |endif..#|endif../|
|00001020| 2f 2f 2f 2f 2f 2f 2f 2f | 2f 2f 2f 2f 2f 2f 2f 2f |////////|////////|
|00001030| 2f 2f 2f 2f 2f 2f 2f 2f | 2f 2f 2f 2f 2f 20 54 48 |////////|///// TH|
|00001040| 61 6e 64 6c 65 72 42 65 | 68 61 76 69 6f 72 20 2f |andlerBe|havior /|
|00001050| 2f 2f 2f 2f 2f 2f 2f 2f | 2f 2f 2f 2f 2f 2f 2f 2f |////////|////////|
|00001060| 2f 2f 2f 2f 2f 2f 2f 2f | 2f 2f 2f 2f 2f 0d 2f 2f |////////|/////.//|
|00001070| 0d 2f 2f 09 41 20 67 65 | 6e 65 72 61 6c 20 70 75 |.//.A ge|neral pu|
|00001080| 72 70 6f 73 65 20 62 65 | 68 61 76 69 6f 72 20 74 |rpose be|havior t|
|00001090| 6f 20 68 61 6e 64 6c 65 | 20 4d 61 63 41 70 70 20 |o handle| MacApp |
|000010a0| 6d 65 73 73 61 67 65 73 | 20 69 6e 20 75 73 65 72 |messages| in user|
|000010b0| 20 64 65 66 69 6e 65 64 | 20 77 61 79 73 2e 0d 2f | defined| ways../|
|000010c0| 2f 0d 0d 23 69 66 20 71 | 4d 61 63 41 70 70 56 65 |/..#if q|MacAppVe|
|000010d0| 72 73 69 6f 6e 20 3e 20 | 33 30 0d 4d 41 5f 44 45 |rsion > |30.MA_DE|
|000010e0| 46 49 4e 45 5f 43 4c 41 | 53 53 5f 4d 31 28 54 48 |FINE_CLA|SS_M1(TH|
|000010f0| 61 6e 64 6c 65 72 42 65 | 68 61 76 69 6f 72 2c 20 |andlerBe|havior, |
|00001100| 54 42 65 68 61 76 69 6f | 72 29 3b 0d 23 65 6e 64 |TBehavio|r);.#end|
|00001110| 69 66 0d 0d 74 79 70 65 | 64 65 66 20 73 74 72 75 |if..type|def stru|
|00001120| 63 74 0d 7b 0d 09 63 68 | 61 72 09 09 09 6d 65 73 |ct.{..ch|ar...mes|
|00001130| 73 61 67 65 2c 0d 09 09 | 09 09 09 09 61 63 74 69 |sage,...|....acti|
|00001140| 6f 6e 2c 0d 09 09 09 09 | 09 09 74 61 72 67 65 74 |on,.....|..target|
|00001150| 2c 0d 09 09 09 09 09 09 | 61 6e 79 4d 65 73 73 61 |,.......|anyMessa|
|00001160| 67 65 3b 0d 09 6c 6f 6e | 67 09 09 09 6d 65 73 73 |ge;..lon|g...mess|
|00001170| 61 67 65 50 61 72 61 6d | 2c 0d 09 09 09 09 09 09 |ageParam|,.......|
|00001180| 61 63 74 69 6f 6e 50 61 | 72 61 6d 2c 0d 09 09 09 |actionPa|ram,....|
|00001190| 09 09 09 74 61 72 67 65 | 74 50 61 72 61 6d 31 2c |...targe|tParam1,|
|000011a0| 0d 09 09 09 09 09 09 74 | 61 72 67 65 74 50 61 72 |.......t|argetPar|
|000011b0| 61 6d 32 3b 0d 09 2f 2f | 20 63 6f 6d 6d 65 6e 74 |am2;..//| comment|
|000011c0| 20 73 74 72 69 6e 67 20 | 28 70 61 73 63 61 6c 20 | string |(pascal |
|000011d0| 73 74 79 6c 65 29 20 67 | 6f 65 73 20 68 65 72 65 |style) g|oes here|
|000011e0| 0d 7d 20 68 61 6e 64 6c | 65 72 44 61 74 61 3b 0d |.} handl|erData;.|
|000011f0| 0d 0d 54 48 61 6e 64 6c | 65 72 42 65 68 61 76 69 |..THandl|erBehavi|
|00001200| 6f 72 3a 3a 54 48 61 6e | 64 6c 65 72 42 65 68 61 |or::THan|dlerBeha|
|00001210| 76 69 6f 72 28 29 0d 23 | 69 66 20 71 4d 61 63 41 |vior().#|if qMacA|
|00001220| 70 70 56 65 72 73 69 6f | 6e 20 3e 20 33 33 0d 09 |ppVersio|n > 33..|
|00001230| 3a 20 54 42 65 68 61 76 | 69 6f 72 28 6b 48 61 6e |: TBehav|ior(kHan|
|00001240| 64 6c 65 72 42 65 68 61 | 76 69 6f 72 49 44 29 0d |dlerBeha|viorID).|
|00001250| 23 65 6e 64 69 66 0d 7b | 0d 23 69 66 6e 64 65 66 |#endif.{|.#ifndef|
|00001260| 20 48 41 4e 44 4c 45 5f | 42 41 53 45 44 5f 4f 42 | HANDLE_|BASED_OB|
|00001270| 4a 45 43 54 53 0d 09 66 | 48 61 6e 64 6c 65 72 44 |JECTS..f|HandlerD|
|00001280| 61 74 61 20 3d 20 4e 55 | 4c 4c 3b 0d 09 66 48 61 |ata = NU|LL;..fHa|
|00001290| 6e 64 6c 65 72 73 20 3d | 20 30 3b 0d 09 66 44 61 |ndlers =| 0;..fDa|
|000012a0| 74 61 53 69 7a 65 20 3d | 20 30 3b 0d 09 66 46 72 |taSize =| 0;..fFr|
|000012b0| 65 65 46 6c 61 67 50 74 | 72 20 3d 20 4e 55 4c 4c |eeFlagPt|r = NULL|
|000012c0| 3b 0d 23 65 6e 64 69 66 | 0d 7d 0d 0d 0d 23 69 66 |;.#endif|.}...#if|
|000012d0| 20 71 4d 61 63 41 70 70 | 56 65 72 73 69 6f 6e 20 | qMacApp|Version |
|000012e0| 3c 3d 20 33 33 0d 0d 2f | 2f 09 49 6e 69 74 69 61 |<= 33../|/.Initia|
|000012f0| 6c 69 7a 65 20 61 20 62 | 65 68 61 76 69 6f 72 20 |lize a b|ehavior |
|00001300| 63 72 65 61 74 65 64 20 | 6d 61 6e 75 61 6c 6c 79 |created |manually|
|00001310| 2e 0d 2f 2f 0d 4d 41 43 | 41 50 50 5f 4d 45 54 48 |..//.MAC|APP_METH|
|00001320| 4f 44 0d 76 6f 69 64 20 | 54 48 61 6e 64 6c 65 72 |OD.void |THandler|
|00001330| 42 65 68 61 76 69 6f 72 | 3a 3a 49 48 61 6e 64 6c |Behavior|::IHandl|
|00001340| 65 72 42 65 68 61 76 69 | 6f 72 28 29 0d 7b 0d 09 |erBehavi|or().{..|
|00001350| 49 42 65 68 61 76 69 6f | 72 28 6b 48 61 6e 64 6c |IBehavio|r(kHandl|
|00001360| 65 72 42 65 68 61 76 69 | 6f 72 49 44 29 3b 0d 7d |erBehavi|orID);.}|
|00001370| 0d 0d 2f 2f 09 4f 76 65 | 72 72 69 64 65 73 20 54 |..//.Ove|rrides T|
|00001380| 4f 62 6a 65 63 74 2e 0d | 2f 2f 09 55 70 64 61 74 |Object..|//.Updat|
|00001390| 65 20 74 68 65 20 66 72 | 65 65 20 66 6c 61 67 20 |e the fr|ee flag |
|000013a0| 69 6e 20 63 61 73 65 20 | 77 65 27 72 65 20 70 72 |in case |we're pr|
|000013b0| 6f 63 65 73 73 69 6e 67 | 20 61 20 6d 65 73 73 61 |ocessing| a messa|
|000013c0| 67 65 2e 0d 2f 2f 0d 4d | 41 43 41 50 50 5f 4d 45 |ge..//.M|ACAPP_ME|
|000013d0| 54 48 4f 44 0d 76 6f 69 | 64 20 54 48 61 6e 64 6c |THOD.voi|d THandl|
|000013e0| 65 72 42 65 68 61 76 69 | 6f 72 3a 3a 46 72 65 65 |erBehavi|or::Free|
|000013f0| 28 29 0d 7b 0d 09 69 66 | 20 28 66 48 61 6e 64 6c |().{..if| (fHandl|
|00001400| 65 72 73 20 26 20 6b 49 | 6e 69 74 69 61 6c 69 7a |ers & kI|nitializ|
|00001410| 65 4d 61 73 6b 29 09 09 | 2f 2f 20 74 68 65 20 54 |eMask)..|// the T|
|00001420| 48 61 6e 64 6c 65 72 49 | 6e 69 74 4d 73 67 43 6d |HandlerI|nitMsgCm|
|00001430| 64 20 69 73 20 73 74 69 | 6c 6c 20 61 72 6f 75 6e |d is sti|ll aroun|
|00001440| 64 20 73 6f 0d 09 09 66 | 48 61 6e 64 6c 65 72 73 |d so...f|Handlers|
|00001450| 20 7c 3d 20 6b 54 72 69 | 65 64 54 6f 46 72 65 65 | |= kTri|edToFree|
|00001460| 4d 61 73 6b 3b 09 09 2f | 2f 20 77 65 27 6c 6c 20 |Mask;../|/ we'll |
|00001470| 6c 65 74 20 69 74 20 64 | 6f 20 74 68 65 20 66 72 |let it d|o the fr|
|00001480| 65 65 69 6e 67 0d 09 65 | 6c 73 65 0d 09 7b 0d 09 |eeing..e|lse..{..|
|00001490| 09 69 66 20 28 66 46 72 | 65 65 46 6c 61 67 50 74 |.if (fFr|eeFlagPt|
|000014a0| 72 29 0d 09 09 09 2a 66 | 46 72 65 65 46 6c 61 67 |r)....*f|FreeFlag|
|000014b0| 50 74 72 20 3d 20 54 52 | 55 45 3b 0d 09 0d 09 09 |Ptr = TR|UE;.....|
|000014c0| 44 69 73 70 6f 73 65 49 | 66 48 61 6e 64 6c 65 28 |DisposeI|fHandle(|
|000014d0| 66 48 61 6e 64 6c 65 72 | 44 61 74 61 29 3b 0d 0d |fHandler|Data);..|
|000014e0| 09 09 54 42 65 68 61 76 | 69 6f 72 3a 3a 46 72 65 |..TBehav|ior::Fre|
|000014f0| 65 28 29 3b 0d 09 7d 0d | 7d 0d 0d 23 65 6c 73 65 |e();..}.|}..#else|
|00001500| 0d 0d 54 48 61 6e 64 6c | 65 72 42 65 68 61 76 69 |..THandl|erBehavi|
|00001510| 6f 72 3a 3a 7e 54 48 61 | 6e 64 6c 65 72 42 65 68 |or::~THa|ndlerBeh|
|00001520| 61 76 69 6f 72 28 29 0d | 7b 0d 0d 09 69 66 20 28 |avior().|{...if (|
|00001530| 66 48 61 6e 64 6c 65 72 | 73 20 26 20 6b 49 6e 69 |fHandler|s & kIni|
|00001540| 74 69 61 6c 69 7a 65 4d | 61 73 6b 29 09 09 2f 2f |tializeM|ask)..//|
|00001550| 20 74 68 65 20 54 48 61 | 6e 64 6c 65 72 49 6e 69 | the THa|ndlerIni|
|00001560| 74 4d 73 67 43 6d 64 20 | 69 73 20 73 74 69 6c 6c |tMsgCmd |is still|
|00001570| 20 61 72 6f 75 6e 64 20 | 73 6f 0d 09 7b 0d 09 09 | around |so..{...|
|00001580| 66 48 61 6e 64 6c 65 72 | 73 20 7c 3d 20 6b 54 72 |fHandler|s |= kTr|
|00001590| 69 65 64 54 6f 46 72 65 | 65 4d 61 73 6b 3b 09 09 |iedToFre|eMask;..|
|000015a0| 2f 2f 20 77 65 27 6c 6c | 20 6c 65 74 20 69 74 20 |// we'll| let it |
|000015b0| 64 6f 20 74 68 65 20 66 | 72 65 65 69 6e 67 0d 09 |do the f|reeing..|
|000015c0| 09 43 68 61 6e 67 65 64 | 28 6d 43 6c 6f 73 65 64 |.Changed|(mClosed|
|000015d0| 2c 20 74 68 69 73 29 3b | 09 09 09 09 09 2f 2f 20 |, this);|.....// |
|000015e0| 74 65 6c 6c 20 69 74 20 | 77 65 27 72 65 20 67 6f |tell it |we're go|
|000015f0| 69 6e 67 20 61 77 61 79 | 2e 0d 09 7d 0d 09 2f 2f |ing away|...}..//|
|00001600| 65 6c 73 65 0d 09 7b 0d | 09 09 69 66 20 28 66 46 |else..{.|..if (fF|
|00001610| 72 65 65 46 6c 61 67 50 | 74 72 29 0d 09 09 09 2a |reeFlagP|tr)....*|
|00001620| 66 46 72 65 65 46 6c 61 | 67 50 74 72 20 3d 20 54 |fFreeFla|gPtr = T|
|00001630| 52 55 45 3b 0d 09 0d 09 | 09 69 66 20 28 66 48 61 |RUE;....|.if (fHa|
|00001640| 6e 64 6c 65 72 44 61 74 | 61 29 0d 09 09 09 44 69 |ndlerDat|a)....Di|
|00001650| 73 70 6f 73 65 48 61 6e | 64 6c 65 28 66 48 61 6e |sposeHan|dle(fHan|
|00001660| 64 6c 65 72 44 61 74 61 | 29 3b 0d 09 09 66 48 61 |dlerData|);...fHa|
|00001670| 6e 64 6c 65 72 44 61 74 | 61 20 3d 20 4e 55 4c 4c |ndlerDat|a = NULL|
|00001680| 3b 0d 09 7d 0d 0d 7d 0d | 0d 23 65 6e 64 69 66 0d |;..}..}.|.#endif.|
|00001690| 0d 0d 23 69 66 64 65 66 | 20 48 41 4e 44 4c 45 5f |..#ifdef| HANDLE_|
|000016a0| 42 41 53 45 44 5f 4f 42 | 4a 45 43 54 53 0d 0d 2f |BASED_OB|JECTS../|
|000016b0| 2f 09 4f 76 65 72 72 69 | 64 65 73 20 54 4f 62 6a |/.Overri|des TObj|
|000016c0| 65 63 74 2e 0d 2f 2f 09 | 49 6e 69 74 69 61 6c 69 |ect..//.|Initiali|
|000016d0| 7a 65 20 74 68 65 20 62 | 65 68 61 76 69 6f 72 27 |ze the b|ehavior'|
|000016e0| 73 20 70 72 69 76 61 74 | 65 20 66 69 65 6c 64 73 |s privat|e fields|
|000016f0| 2e 0d 2f 2f 0d 4d 41 43 | 41 50 50 5f 4d 45 54 48 |..//.MAC|APP_METH|
|00001700| 4f 44 0d 76 6f 69 64 20 | 54 48 61 6e 64 6c 65 72 |OD.void |THandler|
|00001710| 42 65 68 61 76 69 6f 72 | 3a 3a 49 6e 69 74 69 61 |Behavior|::Initia|
|00001720| 6c 69 7a 65 28 29 0d 7b | 0d 09 66 48 61 6e 64 6c |lize().{|..fHandl|
|00001730| 65 72 44 61 74 61 20 3d | 20 4e 55 4c 4c 3b 0d 09 |erData =| NULL;..|
|00001740| 66 48 61 6e 64 6c 65 72 | 73 20 3d 20 30 3b 0d 09 |fHandler|s = 0;..|
|00001750| 66 44 61 74 61 53 69 7a | 65 20 3d 20 30 3b 0d 09 |fDataSiz|e = 0;..|
|00001760| 66 46 72 65 65 46 6c 61 | 67 50 74 72 20 3d 20 4e |fFreeFla|gPtr = N|
|00001770| 55 4c 4c 3b 0d 0d 09 54 | 42 65 68 61 76 69 6f 72 |ULL;...T|Behavior|
|00001780| 3a 3a 49 6e 69 74 69 61 | 6c 69 7a 65 28 29 3b 0d |::Initia|lize();.|
|00001790| 7d 0d 0d 23 65 6e 64 69 | 66 0d 0d 0d 23 69 66 20 |}..#endi|f...#if |
|000017a0| 71 4d 61 63 41 70 70 56 | 65 72 73 69 6f 6e 20 3d |qMacAppV|ersion =|
|000017b0| 3d 20 33 30 20 7c 7c 20 | 71 4d 61 63 41 70 70 56 |= 30 || |qMacAppV|
|000017c0| 65 72 73 69 6f 6e 20 3d | 3d 20 33 31 0d 0d 2f 2f |ersion =|= 31..//|
|000017d0| 09 4f 76 65 72 72 69 64 | 65 73 20 54 42 65 68 61 |.Overrid|es TBeha|
|000017e0| 76 69 6f 72 2e 0d 2f 2f | 09 48 61 6e 64 6c 65 20 |vior..//|.Handle |
|000017f0| 41 70 70 6c 65 43 6f 6d | 6d 61 6e 64 20 6d 65 73 |AppleCom|mand mes|
|00001800| 73 61 67 65 73 2e 0d 2f | 2f 0d 4d 41 43 41 50 50 |sages../|/.MACAPP|
|00001810| 5f 4d 45 54 48 4f 44 0d | 76 6f 69 64 20 54 48 61 |_METHOD.|void THa|
|00001820| 6e 64 6c 65 72 42 65 68 | 61 76 69 6f 72 3a 3a 44 |ndlerBeh|avior::D|
|00001830| 6f 41 70 70 6c 65 43 6f | 6d 6d 61 6e 64 28 43 6f |oAppleCo|mmand(Co|
|00001840| 6d 6d 61 6e 64 4e 75 6d | 62 65 72 20 61 43 6f 6d |mmandNum|ber aCom|
|00001850| 6d 61 6e 64 4e 75 6d 62 | 65 72 2c 20 63 6f 6e 73 |mandNumb|er, cons|
|00001860| 74 20 41 70 70 6c 65 45 | 76 65 6e 74 26 20 6d 65 |t AppleE|vent& me|
|00001870| 73 73 61 67 65 2c 20 63 | 6f 6e 73 74 20 41 70 70 |ssage, c|onst App|
|00001880| 6c 65 45 76 65 6e 74 26 | 20 72 65 70 6c 79 29 0d |leEvent&| reply).|
|00001890| 7b 0d 09 69 66 20 28 66 | 48 61 6e 64 6c 65 72 73 |{..if (f|Handlers|
|000018a0| 20 26 20 6b 41 70 70 6c | 65 43 6f 6d 6d 61 6e 64 | & kAppl|eCommand|
|000018b0| 4d 61 73 6b 29 0d 09 7b | 0d 09 09 54 45 76 65 6e |Mask)..{|...TEven|
|000018c0| 74 48 61 6e 64 6c 65 72 | 2a 20 74 61 72 67 65 74 |tHandler|* target|
|000018d0| 3b 0d 09 09 48 53 63 72 | 61 74 63 68 20 73 63 72 |;...HScr|atch scr|
|000018e0| 61 74 63 68 28 74 68 69 | 73 29 3b 0d 09 09 77 68 |atch(thi|s);...wh|
|000018f0| 69 6c 65 20 28 74 61 72 | 67 65 74 20 3d 20 68 61 |ile (tar|get = ha|
|00001900| 6e 64 6c 65 4d 65 73 73 | 61 67 65 28 6b 41 70 70 |ndleMess|age(kApp|
|00001910| 6c 65 43 6f 6d 6d 61 6e | 64 4d 73 67 2c 20 61 43 |leComman|dMsg, aC|
|00001920| 6f 6d 6d 61 6e 64 4e 75 | 6d 62 65 72 2c 20 26 73 |ommandNu|mber, &s|
|00001930| 63 72 61 74 63 68 29 29 | 0d 09 09 09 74 61 72 67 |cratch))|....targ|
|00001940| 65 74 2d 3e 48 61 6e 64 | 6c 65 41 70 70 6c 65 43 |et->Hand|leAppleC|
|00001950| 6f 6d 6d 61 6e 64 28 61 | 43 6f 6d 6d 61 6e 64 4e |ommand(a|CommandN|
|00001960| 75 6d 62 65 72 2c 20 6d | 65 73 73 61 67 65 2c 20 |umber, m|essage, |
|00001970| 72 65 70 6c 79 29 3b 0d | 09 7d 0d 09 65 6c 73 65 |reply);.|.}..else|
|00001980| 0d 09 09 54 42 65 68 61 | 76 69 6f 72 3a 3a 44 6f |...TBeha|vior::Do|
|00001990| 41 70 70 6c 65 43 6f 6d | 6d 61 6e 64 28 61 43 6f |AppleCom|mand(aCo|
|000019a0| 6d 6d 61 6e 64 4e 75 6d | 62 65 72 2c 20 6d 65 73 |mmandNum|ber, mes|
|000019b0| 73 61 67 65 2c 20 72 65 | 70 6c 79 29 3b 0d 7d 0d |sage, re|ply);.}.|
|000019c0| 0d 23 65 6c 73 65 0d 0d | 2f 2f 09 4f 76 65 72 72 |.#else..|//.Overr|
|000019d0| 69 64 65 73 20 54 42 65 | 68 61 76 69 6f 72 2e 0d |ides TBe|havior..|
|000019e0| 2f 2f 09 48 61 6e 64 6c | 65 20 41 70 70 6c 65 43 |//.Handl|e AppleC|
|000019f0| 6f 6d 6d 61 6e 64 20 6d | 65 73 73 61 67 65 73 2e |ommand m|essages.|
|00001a00| 0d 2f 2f 0d 4d 41 43 41 | 50 50 5f 4d 45 54 48 4f |.//.MACA|PP_METHO|
|00001a10| 44 0d 42 4f 4f 4c 45 41 | 4e 20 54 48 61 6e 64 6c |D.BOOLEA|N THandl|
|00001a20| 65 72 42 65 68 61 76 69 | 6f 72 3a 3a 44 6f 53 63 |erBehavi|or::DoSc|
|00001a30| 72 69 70 74 43 6f 6d 6d | 61 6e 64 28 43 6f 6d 6d |riptComm|and(Comm|
|00001a40| 61 6e 64 4e 75 6d 62 65 | 72 20 61 43 6f 6d 6d 61 |andNumbe|r aComma|
|00001a50| 6e 64 4e 75 6d 62 65 72 | 2c 20 54 41 70 70 6c 65 |ndNumber|, TApple|
|00001a60| 45 76 65 6e 74 2a 20 6d | 65 73 73 61 67 65 2c 20 |Event* m|essage, |
|00001a70| 54 41 70 70 6c 65 45 76 | 65 6e 74 2a 20 72 65 70 |TAppleEv|ent* rep|
|00001a80| 6c 79 29 0d 7b 0d 09 69 | 66 20 28 66 48 61 6e 64 |ly).{..i|f (fHand|
|00001a90| 6c 65 72 73 20 26 20 6b | 41 70 70 6c 65 43 6f 6d |lers & k|AppleCom|
|00001aa0| 6d 61 6e 64 4d 61 73 6b | 29 0d 09 7b 0d 09 09 54 |mandMask|)..{...T|
|00001ab0| 45 76 65 6e 74 48 61 6e | 64 6c 65 72 2a 20 74 61 |EventHan|dler* ta|
|00001ac0| 72 67 65 74 3b 0d 09 09 | 48 53 63 72 61 74 63 68 |rget;...|HScratch|
|00001ad0| 20 73 63 72 61 74 63 68 | 28 74 68 69 73 29 3b 0d | scratch|(this);.|
|00001ae0| 09 09 77 68 69 6c 65 20 | 28 28 74 61 72 67 65 74 |..while |((target|
|00001af0| 20 3d 20 68 61 6e 64 6c | 65 4d 65 73 73 61 67 65 | = handl|eMessage|
|00001b00| 28 6b 41 70 70 6c 65 43 | 6f 6d 6d 61 6e 64 4d 73 |(kAppleC|ommandMs|
|00001b10| 67 2c 20 61 43 6f 6d 6d | 61 6e 64 4e 75 6d 62 65 |g, aComm|andNumbe|
|00001b20| 72 2c 20 26 73 63 72 61 | 74 63 68 29 29 20 21 3d |r, &scra|tch)) !=|
|00001b30| 20 30 29 0d 09 09 7b 0d | 09 09 09 54 42 65 68 61 | 0)...{.|...TBeha|
|00001b40| 76 69 6f 72 2a 20 74 61 | 72 67 65 74 42 65 68 61 |vior* ta|rgetBeha|
|00001b50| 76 69 6f 72 20 3d 20 74 | 61 72 67 65 74 2d 3e 47 |vior = t|arget->G|
|00001b60| 65 74 46 69 72 73 74 45 | 6e 61 62 6c 65 64 42 65 |etFirstE|nabledBe|
|00001b70| 68 61 76 69 6f 72 28 29 | 3b 0d 09 09 09 69 66 20 |havior()|;....if |
|00001b80| 28 74 61 72 67 65 74 42 | 65 68 61 76 69 6f 72 29 |(targetB|ehavior)|
|00001b90| 0d 09 09 09 09 74 61 72 | 67 65 74 42 65 68 61 76 |.....tar|getBehav|
|00001ba0| 69 6f 72 2d 3e 44 6f 53 | 63 72 69 70 74 43 6f 6d |ior->DoS|criptCom|
|00001bb0| 6d 61 6e 64 28 61 43 6f | 6d 6d 61 6e 64 4e 75 6d |mand(aCo|mmandNum|
|00001bc0| 62 65 72 2c 20 6d 65 73 | 73 61 67 65 2c 20 72 65 |ber, mes|sage, re|
|00001bd0| 70 6c 79 29 3b 0d 09 09 | 7d 0d 09 09 72 65 74 75 |ply);...|}...retu|
|00001be0| 72 6e 20 54 52 55 45 3b | 0d 09 7d 0d 09 65 6c 73 |rn TRUE;|..}..els|
|00001bf0| 65 0d 09 09 72 65 74 75 | 72 6e 20 54 42 65 68 61 |e...retu|rn TBeha|
|00001c00| 76 69 6f 72 3a 3a 44 6f | 53 63 72 69 70 74 43 6f |vior::Do|ScriptCo|
|00001c10| 6d 6d 61 6e 64 28 61 43 | 6f 6d 6d 61 6e 64 4e 75 |mmand(aC|ommandNu|
|00001c20| 6d 62 65 72 2c 20 6d 65 | 73 73 61 67 65 2c 20 72 |mber, me|ssage, r|
|00001c30| 65 70 6c 79 29 3b 0d 7d | 0d 0d 23 65 6e 64 69 66 |eply);.}|..#endif|
|00001c40| 0d 0d 0d 2f 2f 09 4f 76 | 65 72 72 69 64 65 73 20 |...//.Ov|errides |
|00001c50| 54 42 65 68 61 76 69 6f | 72 2e 0d 2f 2f 09 48 61 |TBehavio|r..//.Ha|
|00001c60| 6e 64 6c 65 20 55 70 64 | 61 74 65 20 6d 65 73 73 |ndle Upd|ate mess|
|00001c70| 61 67 65 73 2e 0d 2f 2f | 0d 4d 41 43 41 50 50 5f |ages..//|.MACAPP_|
|00001c80| 4d 45 54 48 4f 44 0d 23 | 69 66 20 71 4d 61 63 41 |METHOD.#|if qMacA|
|00001c90| 70 70 56 65 72 73 69 6f | 6e 20 3c 3d 20 33 33 0d |ppVersio|n <= 33.|
|00001ca0| 76 6f 69 64 20 54 48 61 | 6e 64 6c 65 72 42 65 68 |void THa|ndlerBeh|
|00001cb0| 61 76 69 6f 72 3a 3a 44 | 6f 42 65 68 61 76 69 6f |avior::D|oBehavio|
|00001cc0| 72 55 70 64 61 74 65 28 | 43 68 61 6e 67 65 49 44 |rUpdate(|ChangeID|
|00001cd0| 20 74 68 65 43 68 61 6e | 67 65 2c 20 54 4f 62 6a | theChan|ge, TObj|
|00001ce0| 65 63 74 2a 20 63 68 61 | 6e 67 65 64 4f 62 6a 65 |ect* cha|ngedObje|
|00001cf0| 63 74 2c 20 54 4f 62 6a | 65 63 74 2a 20 63 68 61 |ct, TObj|ect* cha|
|00001d00| 6e 67 65 64 42 79 2c 20 | 54 44 65 70 65 6e 64 65 |ngedBy, |TDepende|
|00001d10| 6e 63 79 53 70 61 63 65 | 2a 20 64 65 70 65 6e 64 |ncySpace|* depend|
|00001d20| 65 6e 63 79 53 70 61 63 | 65 29 0d 23 65 6c 73 65 |encySpac|e).#else|
|00001d30| 0d 76 6f 69 64 20 54 48 | 61 6e 64 6c 65 72 42 65 |.void TH|andlerBe|
|00001d40| 68 61 76 69 6f 72 3a 3a | 44 6f 55 70 64 61 74 65 |havior::|DoUpdate|
|00001d50| 28 43 68 61 6e 67 65 49 | 44 5f 41 43 20 74 68 65 |(ChangeI|D_AC the|
|00001d60| 43 68 61 6e 67 65 2c 20 | 4d 44 65 70 65 6e 64 61 |Change, |MDependa|
|00001d70| 62 6c 65 5f 41 43 2a 20 | 63 68 61 6e 67 65 64 4f |ble_AC* |changedO|
|00001d80| 62 6a 65 63 74 2c 20 76 | 6f 69 64 2a 20 63 68 61 |bject, v|oid* cha|
|00001d90| 6e 67 65 44 61 74 61 2c | 20 43 44 65 70 65 6e 64 |ngeData,| CDepend|
|00001da0| 65 6e 63 79 53 70 61 63 | 65 5f 41 43 2a 20 64 65 |encySpac|e_AC* de|
|00001db0| 70 65 6e 64 65 6e 63 79 | 53 70 61 63 65 29 0d 23 |pendency|Space).#|
|00001dc0| 65 6e 64 69 66 0d 7b 0d | 09 69 66 20 28 66 48 61 |endif.{.|.if (fHa|
|00001dd0| 6e 64 6c 65 72 73 20 26 | 20 6b 55 70 64 61 74 65 |ndlers &| kUpdate|
|00001de0| 4d 61 73 6b 29 0d 09 7b | 0d 09 09 54 45 76 65 6e |Mask)..{|...TEven|
|00001df0| 74 48 61 6e 64 6c 65 72 | 2a 20 74 61 72 67 65 74 |tHandler|* target|
|00001e00| 3b 0d 09 09 48 53 63 72 | 61 74 63 68 20 73 63 72 |;...HScr|atch scr|
|00001e10| 61 74 63 68 28 74 68 69 | 73 29 3b 0d 09 09 77 68 |atch(thi|s);...wh|
|00001e20| 69 6c 65 20 28 28 74 61 | 72 67 65 74 20 3d 20 68 |ile ((ta|rget = h|
|00001e30| 61 6e 64 6c 65 4d 65 73 | 73 61 67 65 28 6b 55 70 |andleMes|sage(kUp|
|00001e40| 64 61 74 65 4d 73 67 2c | 20 74 68 65 43 68 61 6e |dateMsg,| theChan|
|00001e50| 67 65 2c 20 26 73 63 72 | 61 74 63 68 29 29 20 21 |ge, &scr|atch)) !|
|00001e60| 3d 20 30 29 0d 09 09 09 | 74 61 72 67 65 74 2d 3e |= 0)....|target->|
|00001e70| 44 6f 55 70 64 61 74 65 | 28 74 68 65 43 68 61 6e |DoUpdate|(theChan|
|00001e80| 67 65 2c 20 63 68 61 6e | 67 65 64 4f 62 6a 65 63 |ge, chan|gedObjec|
|00001e90| 74 2c 20 63 68 61 6e 67 | 65 44 61 74 61 2c 20 64 |t, chang|eData, d|
|00001ea0| 65 70 65 6e 64 65 6e 63 | 79 53 70 61 63 65 29 3b |ependenc|ySpace);|
|00001eb0| 0d 09 7d 0d 09 65 6c 73 | 65 0d 09 09 4d 44 65 70 |..}..els|e...MDep|
|00001ec0| 65 6e 64 61 62 6c 65 5f | 41 43 3a 3a 44 6f 55 70 |endable_|AC::DoUp|
|00001ed0| 64 61 74 65 28 74 68 65 | 43 68 61 6e 67 65 2c 20 |date(the|Change, |
|00001ee0| 63 68 61 6e 67 65 64 4f | 62 6a 65 63 74 2c 20 63 |changedO|bject, c|
|00001ef0| 68 61 6e 67 65 44 61 74 | 61 2c 20 64 65 70 65 6e |hangeDat|a, depen|
|00001f00| 64 65 6e 63 79 53 70 61 | 63 65 29 3b 0d 7d 0d 0d |dencySpa|ce);.}..|
|00001f10| 0d 2f 2f 09 4f 76 65 72 | 72 69 64 65 73 20 54 42 |.//.Over|rides TB|
|00001f20| 65 68 61 76 69 6f 72 2e | 0d 2f 2f 09 48 61 6e 64 |ehavior.|.//.Hand|
|00001f30| 6c 65 20 43 6f 6d 6d 61 | 6e 64 4b 65 79 20 6d 65 |le Comma|ndKey me|
|00001f40| 73 73 61 67 65 73 2e 0d | 2f 2f 0d 73 74 61 74 69 |ssages..|//.stati|
|00001f50| 63 20 45 76 65 6e 74 52 | 65 63 6f 72 64 20 54 54 |c EventR|ecord TT|
|00001f60| 6f 6f 6c 62 6f 78 45 76 | 65 6e 74 5f 47 65 74 45 |oolboxEv|ent_GetE|
|00001f70| 76 65 6e 74 52 65 63 6f | 72 64 28 54 54 6f 6f 6c |ventReco|rd(TTool|
|00001f80| 62 6f 78 45 76 65 6e 74 | 2a 20 65 76 65 6e 74 29 |boxEvent|* event)|
|00001f90| 0d 7b 0d 23 69 66 20 71 | 4d 61 63 41 70 70 56 65 |.{.#if q|MacAppVe|
|00001fa0| 72 73 69 6f 6e 20 3e 20 | 33 33 0d 09 72 65 74 75 |rsion > |33..retu|
|00001fb0| 72 6e 20 65 76 65 6e 74 | 2d 3e 47 65 74 45 76 65 |rn event|->GetEve|
|00001fc0| 6e 74 52 65 63 6f 72 64 | 28 31 29 3b 0d 23 65 6c |ntRecord|(1);.#el|
|00001fd0| 73 65 0d 09 72 65 74 75 | 72 6e 20 65 76 65 6e 74 |se..retu|rn event|
|00001fe0| 2d 3e 66 45 76 65 6e 74 | 52 65 63 6f 72 64 3b 0d |->fEvent|Record;.|
|00001ff0| 23 65 6e 64 69 66 0d 7d | 0d 0d 2f 2f 09 4f 76 65 |#endif.}|..//.Ove|
|00002000| 72 72 69 64 65 73 20 54 | 42 65 68 61 76 69 6f 72 |rrides T|Behavior|
|00002010| 2e 0d 2f 2f 09 48 61 6e | 64 6c 65 20 43 6f 6d 6d |..//.Han|dle Comm|
|00002020| 61 6e 64 4b 65 79 20 6d | 65 73 73 61 67 65 73 2e |andKey m|essages.|
|00002030| 0d 2f 2f 0d 4d 41 43 41 | 50 50 5f 4d 45 54 48 4f |.//.MACA|PP_METHO|
|00002040| 44 0d 76 6f 69 64 20 54 | 48 61 6e 64 6c 65 72 42 |D.void T|HandlerB|
|00002050| 65 68 61 76 69 6f 72 3a | 3a 44 6f 43 6f 6d 6d 61 |ehavior:|:DoComma|
|00002060| 6e 64 4b 65 79 45 76 65 | 6e 74 28 54 54 6f 6f 6c |ndKeyEve|nt(TTool|
|00002070| 62 6f 78 45 76 65 6e 74 | 2a 20 65 76 65 6e 74 29 |boxEvent|* event)|
|00002080| 0d 7b 0d 09 69 66 20 28 | 28 66 48 61 6e 64 6c 65 |.{..if (|(fHandle|
|00002090| 72 73 20 26 20 6b 43 6f | 6d 6d 61 6e 64 4b 65 79 |rs & kCo|mmandKey|
|000020a0| 4d 61 73 6b 29 20 26 26 | 20 21 65 76 65 6e 74 2d |Mask) &&| !event-|
|000020b0| 3e 49 73 41 75 74 6f 4b | 65 79 45 76 65 6e 74 28 |>IsAutoK|eyEvent(|
|000020c0| 29 29 0d 09 7b 0d 09 09 | 54 45 76 65 6e 74 48 61 |))..{...|TEventHa|
|000020d0| 6e 64 6c 65 72 2a 20 74 | 61 72 67 65 74 3b 0d 09 |ndler* t|arget;..|
|000020e0| 09 48 53 63 72 61 74 63 | 68 20 73 63 72 61 74 63 |.HScratc|h scratc|
|000020f0| 68 28 74 68 69 73 29 3b | 0d 09 09 77 68 69 6c 65 |h(this);|...while|
|00002100| 20 28 28 74 61 72 67 65 | 74 20 3d 20 68 61 6e 64 | ((targe|t = hand|
|00002110| 6c 65 4d 65 73 73 61 67 | 65 28 6b 43 6f 6d 6d 61 |leMessag|e(kComma|
|00002120| 6e 64 4b 65 79 4d 73 67 | 2c 20 54 54 6f 6f 6c 62 |ndKeyMsg|, TToolb|
|00002130| 6f 78 45 76 65 6e 74 5f | 47 65 74 45 76 65 6e 74 |oxEvent_|GetEvent|
|00002140| 52 65 63 6f 72 64 28 65 | 76 65 6e 74 29 2e 6d 65 |Record(e|vent).me|
|00002150| 73 73 61 67 65 20 26 20 | 63 68 61 72 43 6f 64 65 |ssage & |charCode|
|00002160| 4d 61 73 6b 2c 20 26 73 | 63 72 61 74 63 68 29 29 |Mask, &s|cratch))|
|00002170| 20 21 3d 20 30 29 0d 09 | 09 09 74 61 72 67 65 74 | != 0)..|..target|
|00002180| 2d 3e 48 61 6e 64 6c 65 | 43 6f 6d 6d 61 6e 64 4b |->Handle|CommandK|
|00002190| 65 79 28 65 76 65 6e 74 | 29 3b 0d 09 7d 0d 09 65 |ey(event|);..}..e|
|000021a0| 6c 73 65 0d 09 09 54 42 | 65 68 61 76 69 6f 72 3a |lse...TB|ehavior:|
|000021b0| 3a 44 6f 43 6f 6d 6d 61 | 6e 64 4b 65 79 45 76 65 |:DoComma|ndKeyEve|
|000021c0| 6e 74 28 65 76 65 6e 74 | 29 3b 0d 7d 0d 0d 0d 2f |nt(event|);.}.../|
|000021d0| 2f 09 4f 76 65 72 72 69 | 64 65 73 20 54 42 65 68 |/.Overri|des TBeh|
|000021e0| 61 76 69 6f 72 2e 0d 2f | 2f 09 48 61 6e 64 6c 65 |avior../|/.Handle|
|000021f0| 20 45 76 65 6e 74 20 6d | 65 73 73 61 67 65 73 2e | Event m|essages.|
|00002200| 0d 2f 2f 0d 4d 41 43 41 | 50 50 5f 4d 45 54 48 4f |.//.MACA|PP_METHO|
|00002210| 44 0d 76 6f 69 64 20 54 | 48 61 6e 64 6c 65 72 42 |D.void T|HandlerB|
|00002220| 65 68 61 76 69 6f 72 3a | 3a 44 6f 45 76 65 6e 74 |ehavior:|:DoEvent|
|00002230| 28 45 76 65 6e 74 4e 75 | 6d 62 65 72 20 65 76 65 |(EventNu|mber eve|
|00002240| 6e 74 4e 75 6d 62 65 72 | 2c 20 54 45 76 65 6e 74 |ntNumber|, TEvent|
|00002250| 48 61 6e 64 6c 65 72 2a | 20 73 6f 75 72 63 65 2c |Handler*| source,|
|00002260| 20 54 45 76 65 6e 74 2a | 20 65 76 65 6e 74 29 0d | TEvent*| event).|
|00002270| 7b 0d 09 69 66 20 28 66 | 48 61 6e 64 6c 65 72 73 |{..if (f|Handlers|
|00002280| 20 26 20 6b 45 76 65 6e | 74 4d 61 73 6b 29 0d 09 | & kEven|tMask)..|
|00002290| 7b 0d 09 09 54 45 76 65 | 6e 74 48 61 6e 64 6c 65 |{...TEve|ntHandle|
|000022a0| 72 2a 20 74 61 72 67 65 | 74 3b 0d 09 09 48 53 63 |r* targe|t;...HSc|
|000022b0| 72 61 74 63 68 20 73 63 | 72 61 74 63 68 28 74 68 |ratch sc|ratch(th|
|000022c0| 69 73 29 3b 0d 09 09 77 | 68 69 6c 65 20 28 28 74 |is);...w|hile ((t|
|000022d0| 61 72 67 65 74 20 3d 20 | 68 61 6e 64 6c 65 4d 65 |arget = |handleMe|
|000022e0| 73 73 61 67 65 28 6b 45 | 76 65 6e 74 4d 73 67 2c |ssage(kE|ventMsg,|
|000022f0| 20 65 76 65 6e 74 4e 75 | 6d 62 65 72 2c 20 26 73 | eventNu|mber, &s|
|00002300| 63 72 61 74 63 68 29 29 | 20 21 3d 20 30 29 0d 09 |cratch))| != 0)..|
|00002310| 09 09 74 61 72 67 65 74 | 2d 3e 48 61 6e 64 6c 65 |..target|->Handle|
|00002320| 45 76 65 6e 74 28 65 76 | 65 6e 74 4e 75 6d 62 65 |Event(ev|entNumbe|
|00002330| 72 2c 20 73 6f 75 72 63 | 65 2c 20 65 76 65 6e 74 |r, sourc|e, event|
|00002340| 29 3b 0d 09 7d 0d 09 65 | 6c 73 65 0d 09 09 54 42 |);..}..e|lse...TB|
|00002350| 65 68 61 76 69 6f 72 3a | 3a 44 6f 45 76 65 6e 74 |ehavior:|:DoEvent|
|00002360| 28 65 76 65 6e 74 4e 75 | 6d 62 65 72 2c 20 73 6f |(eventNu|mber, so|
|00002370| 75 72 63 65 2c 20 65 76 | 65 6e 74 29 3b 0d 7d 0d |urce, ev|ent);.}.|
|00002380| 0d 0d 2f 2f 09 4f 76 65 | 72 72 69 64 65 73 20 54 |..//.Ove|rrides T|
|00002390| 42 65 68 61 76 69 6f 72 | 2e 0d 2f 2f 09 48 61 6e |Behavior|..//.Han|
|000023a0| 64 6c 65 20 49 64 6c 65 | 20 6d 65 73 73 61 67 65 |dle Idle| message|
|000023b0| 73 2e 0d 2f 2f 0d 4d 41 | 43 41 50 50 5f 4d 45 54 |s..//.MA|CAPP_MET|
|000023c0| 48 4f 44 0d 42 4f 4f 4c | 45 41 4e 20 54 48 61 6e |HOD.BOOL|EAN THan|
|000023d0| 64 6c 65 72 42 65 68 61 | 76 69 6f 72 3a 3a 44 6f |dlerBeha|vior::Do|
|000023e0| 49 64 6c 65 28 49 64 6c | 65 50 68 61 73 65 20 70 |Idle(Idl|ePhase p|
|000023f0| 68 61 73 65 29 0d 7b 0d | 09 69 66 20 28 66 48 61 |hase).{.|.if (fHa|
|00002400| 6e 64 6c 65 72 73 20 26 | 20 6b 49 64 6c 65 4d 61 |ndlers &| kIdleMa|
|00002410| 73 6b 29 0d 09 7b 0d 09 | 09 54 45 76 65 6e 74 48 |sk)..{..|.TEventH|
|00002420| 61 6e 64 6c 65 72 2a 20 | 74 61 72 67 65 74 3b 0d |andler* |target;.|
|00002430| 09 09 48 53 63 72 61 74 | 63 68 20 73 63 72 61 74 |..HScrat|ch scrat|
|00002440| 63 68 28 74 68 69 73 29 | 3b 0d 09 09 77 68 69 6c |ch(this)|;...whil|
|00002450| 65 20 28 28 74 61 72 67 | 65 74 20 3d 20 68 61 6e |e ((targ|et = han|
|00002460| 64 6c 65 4d 65 73 73 61 | 67 65 28 6b 49 64 6c 65 |dleMessa|ge(kIdle|
|00002470| 4d 73 67 2c 20 70 68 61 | 73 65 2c 20 26 73 63 72 |Msg, pha|se, &scr|
|00002480| 61 74 63 68 29 29 20 21 | 3d 20 30 29 0d 09 09 09 |atch)) !|= 0)....|
|00002490| 74 61 72 67 65 74 2d 3e | 48 61 6e 64 6c 65 49 64 |target->|HandleId|
|000024a0| 6c 65 28 70 68 61 73 65 | 29 3b 0d 09 09 72 65 74 |le(phase|);...ret|
|000024b0| 75 72 6e 20 73 63 72 61 | 74 63 68 2e 62 65 68 61 |urn scra|tch.beha|
|000024c0| 76 69 6f 72 46 72 65 65 | 64 3b 0d 09 7d 0d 09 65 |viorFree|d;..}..e|
|000024d0| 6c 73 65 0d 09 09 72 65 | 74 75 72 6e 20 54 42 65 |lse...re|turn TBe|
|000024e0| 68 61 76 69 6f 72 3a 3a | 44 6f 49 64 6c 65 28 70 |havior::|DoIdle(p|
|000024f0| 68 61 73 65 29 3b 0d 7d | 0d 0d 2f 2f 09 4f 76 65 |hase);.}|..//.Ove|
|00002500| 72 72 69 64 65 73 20 54 | 42 65 68 61 76 69 6f 72 |rrides T|Behavior|
|00002510| 2e 0d 2f 2f 09 48 61 6e | 64 6c 65 20 4b 65 79 44 |..//.Han|dle KeyD|
|00002520| 6f 77 6e 20 6d 65 73 73 | 61 67 65 73 2e 0d 2f 2f |own mess|ages..//|
|00002530| 0d 4d 41 43 41 50 50 5f | 4d 45 54 48 4f 44 0d 76 |.MACAPP_|METHOD.v|
|00002540| 6f 69 64 20 54 48 61 6e | 64 6c 65 72 42 65 68 61 |oid THan|dlerBeha|
|00002550| 76 69 6f 72 3a 3a 44 6f | 4b 65 79 45 76 65 6e 74 |vior::Do|KeyEvent|
|00002560| 28 54 54 6f 6f 6c 62 6f | 78 45 76 65 6e 74 2a 20 |(TToolbo|xEvent* |
|00002570| 65 76 65 6e 74 29 0d 7b | 0d 09 69 66 20 28 66 48 |event).{|..if (fH|
|00002580| 61 6e 64 6c 65 72 73 20 | 26 20 6b 4b 65 79 44 6f |andlers |& kKeyDo|
|00002590| 77 6e 4d 61 73 6b 29 0d | 09 7b 0d 09 09 54 45 76 |wnMask).|.{...TEv|
|000025a0| 65 6e 74 48 61 6e 64 6c | 65 72 2a 20 74 61 72 67 |entHandl|er* targ|
|000025b0| 65 74 3b 0d 09 09 48 53 | 63 72 61 74 63 68 20 73 |et;...HS|cratch s|
|000025c0| 63 72 61 74 63 68 28 74 | 68 69 73 29 3b 0d 09 09 |cratch(t|his);...|
|000025d0| 77 68 69 6c 65 20 28 28 | 74 61 72 67 65 74 20 3d |while ((|target =|
|000025e0| 20 68 61 6e 64 6c 65 4d | 65 73 73 61 67 65 28 6b | handleM|essage(k|
|000025f0| 4b 65 79 44 6f 77 6e 4d | 73 67 2c 20 54 54 6f 6f |KeyDownM|sg, TToo|
|00002600| 6c 62 6f 78 45 76 65 6e | 74 5f 47 65 74 43 68 61 |lboxEven|t_GetCha|
|00002610| 72 61 63 74 65 72 28 65 | 76 65 6e 74 29 2c 20 26 |racter(e|vent), &|
|00002620| 73 63 72 61 74 63 68 29 | 29 20 21 3d 20 30 29 0d |scratch)|) != 0).|
|00002630| 09 09 09 74 61 72 67 65 | 74 2d 3e 48 61 6e 64 6c |...targe|t->Handl|
|00002640| 65 4b 65 79 43 6f 6d 6d | 61 6e 64 28 65 76 65 6e |eKeyComm|and(even|
|00002650| 74 29 3b 0d 09 7d 0d 09 | 65 6c 73 65 0d 09 09 54 |t);..}..|else...T|
|00002660| 42 65 68 61 76 69 6f 72 | 3a 3a 44 6f 4b 65 79 45 |Behavior|::DoKeyE|
|00002670| 76 65 6e 74 28 65 76 65 | 6e 74 29 3b 0d 7d 0d 0d |vent(eve|nt);.}..|
|00002680| 0d 2f 2f 09 4f 76 65 72 | 72 69 64 65 73 20 54 42 |.//.Over|rides TB|
|00002690| 65 68 61 76 69 6f 72 2e | 0d 2f 2f 09 48 61 6e 64 |ehavior.|.//.Hand|
|000026a0| 6c 65 20 4b 65 79 55 70 | 20 6d 65 73 73 61 67 65 |le KeyUp| message|
|000026b0| 73 2e 0d 2f 2f 0d 4d 41 | 43 41 50 50 5f 4d 45 54 |s..//.MA|CAPP_MET|
|000026c0| 48 4f 44 0d 76 6f 69 64 | 20 54 48 61 6e 64 6c 65 |HOD.void| THandle|
|000026d0| 72 42 65 68 61 76 69 6f | 72 3a 3a 44 6f 4b 65 79 |rBehavio|r::DoKey|
|000026e0| 55 70 28 54 54 6f 6f 6c | 62 6f 78 45 76 65 6e 74 |Up(TTool|boxEvent|
|000026f0| 2a 20 65 76 65 6e 74 29 | 0d 7b 0d 09 69 66 20 28 |* event)|.{..if (|
|00002700| 66 48 61 6e 64 6c 65 72 | 73 20 26 20 6b 4b 65 79 |fHandler|s & kKey|
|00002710| 55 70 4d 61 73 6b 29 0d | 09 7b 0d 09 09 54 45 76 |UpMask).|.{...TEv|
|00002720| 65 6e 74 48 61 6e 64 6c | 65 72 2a 20 74 61 72 67 |entHandl|er* targ|
|00002730| 65 74 3b 0d 09 09 48 53 | 63 72 61 74 63 68 20 73 |et;...HS|cratch s|
|00002740| 63 72 61 74 63 68 28 74 | 68 69 73 29 3b 0d 09 09 |cratch(t|his);...|
|00002750| 77 68 69 6c 65 20 28 28 | 74 61 72 67 65 74 20 3d |while ((|target =|
|00002760| 20 68 61 6e 64 6c 65 4d | 65 73 73 61 67 65 28 6b | handleM|essage(k|
|00002770| 4b 65 79 55 70 4d 73 67 | 2c 20 54 54 6f 6f 6c 62 |KeyUpMsg|, TToolb|
|00002780| 6f 78 45 76 65 6e 74 5f | 47 65 74 43 68 61 72 61 |oxEvent_|GetChara|
|00002790| 63 74 65 72 28 65 76 65 | 6e 74 29 2c 20 26 73 63 |cter(eve|nt), &sc|
|000027a0| 72 61 74 63 68 29 29 20 | 21 3d 20 30 29 0d 09 09 |ratch)) |!= 0)...|
|000027b0| 09 74 61 72 67 65 74 2d | 3e 48 61 6e 64 6c 65 4b |.target-|>HandleK|
|000027c0| 65 79 55 70 28 65 76 65 | 6e 74 29 3b 0d 09 7d 0d |eyUp(eve|nt);..}.|
|000027d0| 09 65 6c 73 65 0d 09 09 | 54 42 65 68 61 76 69 6f |.else...|TBehavio|
|000027e0| 72 3a 3a 44 6f 4b 65 79 | 55 70 28 65 76 65 6e 74 |r::DoKey|Up(event|
|000027f0| 29 3b 0d 7d 0d 0d 0d 2f | 2f 09 4f 76 65 72 72 69 |);.}.../|/.Overri|
|00002800| 64 65 73 20 54 42 65 68 | 61 76 69 6f 72 2e 0d 2f |des TBeh|avior../|
|00002810| 2f 09 48 61 6e 64 6c 65 | 20 4d 65 6e 75 43 6f 6d |/.Handle| MenuCom|
|00002820| 6d 61 6e 64 20 6d 65 73 | 73 61 67 65 73 2e 0d 2f |mand mes|sages../|
|00002830| 2f 0d 4d 41 43 41 50 50 | 5f 4d 45 54 48 4f 44 0d |/.MACAPP|_METHOD.|
|00002840| 76 6f 69 64 20 54 48 61 | 6e 64 6c 65 72 42 65 68 |void THa|ndlerBeh|
|00002850| 61 76 69 6f 72 3a 3a 44 | 6f 4d 65 6e 75 43 6f 6d |avior::D|oMenuCom|
|00002860| 6d 61 6e 64 28 43 6f 6d | 6d 61 6e 64 4e 75 6d 62 |mand(Com|mandNumb|
|00002870| 65 72 20 61 43 6f 6d 6d | 61 6e 64 4e 75 6d 62 65 |er aComm|andNumbe|
|00002880| 72 29 0d 7b 0d 09 69 66 | 20 28 66 48 61 6e 64 6c |r).{..if| (fHandl|
|00002890| 65 72 73 20 26 20 6b 4d | 65 6e 75 43 6f 6d 6d 61 |ers & kM|enuComma|
|000028a0| 6e 64 4d 61 73 6b 29 0d | 09 7b 0d 09 09 54 45 76 |ndMask).|.{...TEv|
|000028b0| 65 6e 74 48 61 6e 64 6c | 65 72 2a 20 74 61 72 67 |entHandl|er* targ|
|000028c0| 65 74 3b 0d 09 09 48 53 | 63 72 61 74 63 68 20 73 |et;...HS|cratch s|
|000028d0| 63 72 61 74 63 68 28 74 | 68 69 73 29 3b 0d 09 09 |cratch(t|his);...|
|000028e0| 77 68 69 6c 65 20 28 28 | 74 61 72 67 65 74 20 3d |while ((|target =|
|000028f0| 20 68 61 6e 64 6c 65 4d | 65 73 73 61 67 65 28 6b | handleM|essage(k|
|00002900| 4d 65 6e 75 43 6f 6d 6d | 61 6e 64 4d 73 67 2c 20 |MenuComm|andMsg, |
|00002910| 61 43 6f 6d 6d 61 6e 64 | 4e 75 6d 62 65 72 2c 20 |aCommand|Number, |
|00002920| 26 73 63 72 61 74 63 68 | 29 29 20 21 3d 20 30 29 |&scratch|)) != 0)|
|00002930| 0d 09 09 09 74 61 72 67 | 65 74 2d 3e 48 61 6e 64 |....targ|et->Hand|
|00002940| 6c 65 4d 65 6e 75 43 6f | 6d 6d 61 6e 64 28 61 43 |leMenuCo|mmand(aC|
|00002950| 6f 6d 6d 61 6e 64 4e 75 | 6d 62 65 72 29 3b 0d 09 |ommandNu|mber);..|
|00002960| 7d 0d 09 65 6c 73 65 0d | 09 09 54 42 65 68 61 76 |}..else.|..TBehav|
|00002970| 69 6f 72 3a 3a 44 6f 4d | 65 6e 75 43 6f 6d 6d 61 |ior::DoM|enuComma|
|00002980| 6e 64 28 61 43 6f 6d 6d | 61 6e 64 4e 75 6d 62 65 |nd(aComm|andNumbe|
|00002990| 72 29 3b 0d 7d 0d 0d 0d | 2f 2f 09 4f 76 65 72 72 |r);.}...|//.Overr|
|000029a0| 69 64 65 73 20 54 42 65 | 68 61 76 69 6f 72 2e 0d |ides TBe|havior..|
|000029b0| 2f 2f 09 48 61 6e 64 6c | 65 20 4d 6f 75 73 65 44 |//.Handl|e MouseD|
|000029c0| 6f 77 6e 20 6d 65 73 73 | 61 67 65 73 2e 0d 2f 2f |own mess|ages..//|
|000029d0| 0d 4d 41 43 41 50 50 5f | 4d 45 54 48 4f 44 0d 42 |.MACAPP_|METHOD.B|
|000029e0| 4f 4f 4c 45 41 4e 20 54 | 48 61 6e 64 6c 65 72 42 |OOLEAN T|HandlerB|
|000029f0| 65 68 61 76 69 6f 72 3a | 3a 44 6f 4d 6f 75 73 65 |ehavior:|:DoMouse|
|00002a00| 43 6f 6d 6d 61 6e 64 28 | 43 56 49 45 57 50 4f 49 |Command(|CVIEWPOI|
|00002a10| 4e 54 26 20 74 68 65 4d | 6f 75 73 65 2c 20 54 54 |NT& theM|ouse, TT|
|00002a20| 6f 6f 6c 62 6f 78 45 76 | 65 6e 74 2a 20 65 76 65 |oolboxEv|ent* eve|
|00002a30| 6e 74 2c 20 43 50 4f 49 | 4e 54 20 68 79 73 74 65 |nt, CPOI|NT hyste|
|00002a40| 72 65 73 69 73 29 0d 7b | 0d 09 69 66 20 28 66 48 |resis).{|..if (fH|
|00002a50| 61 6e 64 6c 65 72 73 20 | 26 20 6b 4d 6f 75 73 65 |andlers |& kMouse|
|00002a60| 44 6f 77 6e 4d 61 73 6b | 29 0d 09 7b 0d 09 09 54 |DownMask|)..{...T|
|00002a70| 45 76 65 6e 74 48 61 6e | 64 6c 65 72 2a 20 74 61 |EventHan|dler* ta|
|00002a80| 72 67 65 74 3b 0d 09 09 | 48 53 63 72 61 74 63 68 |rget;...|HScratch|
|00002a90| 20 73 63 72 61 74 63 68 | 28 74 68 69 73 29 3b 0d | scratch|(this);.|
|00002aa0| 09 09 77 68 69 6c 65 20 | 28 28 74 61 72 67 65 74 |..while |((target|
|00002ab0| 20 3d 20 68 61 6e 64 6c | 65 4d 65 73 73 61 67 65 | = handl|eMessage|
|00002ac0| 28 6b 4d 6f 75 73 65 44 | 6f 77 6e 4d 73 67 2c 20 |(kMouseD|ownMsg, |
|00002ad0| 30 2c 20 26 73 63 72 61 | 74 63 68 29 29 20 21 3d |0, &scra|tch)) !=|
|00002ae0| 20 30 29 0d 09 09 09 28 | 28 54 56 69 65 77 2a 29 | 0)....(|(TView*)|
|00002af0| 20 74 61 72 67 65 74 29 | 2d 3e 48 61 6e 64 6c 65 | target)|->Handle|
|00002b00| 4d 6f 75 73 65 44 6f 77 | 6e 28 74 68 65 4d 6f 75 |MouseDow|n(theMou|
|00002b10| 73 65 2c 20 65 76 65 6e | 74 2c 20 68 79 73 74 65 |se, even|t, hyste|
|00002b20| 72 65 73 69 73 29 3b 0d | 09 09 72 65 74 75 72 6e |resis);.|..return|
|00002b30| 20 54 52 55 45 3b 0d 09 | 7d 0d 09 65 6c 73 65 0d | TRUE;..|}..else.|
|00002b40| 09 09 72 65 74 75 72 6e | 20 54 42 65 68 61 76 69 |..return| TBehavi|
|00002b50| 6f 72 3a 3a 44 6f 4d 6f | 75 73 65 43 6f 6d 6d 61 |or::DoMo|useComma|
|00002b60| 6e 64 28 74 68 65 4d 6f | 75 73 65 2c 20 65 76 65 |nd(theMo|use, eve|
|00002b70| 6e 74 2c 20 68 79 73 74 | 65 72 65 73 69 73 29 3b |nt, hyst|eresis);|
|00002b80| 0d 7d 0d 0d 0d 2f 2f 09 | 4f 76 65 72 72 69 64 65 |.}...//.|Override|
|00002b90| 73 20 54 42 65 68 61 76 | 69 6f 72 2e 0d 2f 2f 09 |s TBehav|ior..//.|
|00002ba0| 48 61 6e 64 6c 65 20 4d | 6f 75 73 65 55 70 20 6d |Handle M|ouseUp m|
|00002bb0| 65 73 73 61 67 65 73 2e | 0d 2f 2f 0d 4d 41 43 41 |essages.|.//.MACA|
|00002bc0| 50 50 5f 4d 45 54 48 4f | 44 0d 42 4f 4f 4c 45 41 |PP_METHO|D.BOOLEA|
|00002bd0| 4e 20 54 48 61 6e 64 6c | 65 72 42 65 68 61 76 69 |N THandl|erBehavi|
|00002be0| 6f 72 3a 3a 44 6f 4d 6f | 75 73 65 55 70 28 43 56 |or::DoMo|useUp(CV|
|00002bf0| 49 45 57 50 4f 49 4e 54 | 26 20 74 68 65 4d 6f 75 |IEWPOINT|& theMou|
|00002c00| 73 65 2c 20 54 54 6f 6f | 6c 62 6f 78 45 76 65 6e |se, TToo|lboxEven|
|00002c10| 74 2a 20 65 76 65 6e 74 | 2c 20 43 50 4f 49 4e 54 |t* event|, CPOINT|
|00002c20| 20 68 79 73 74 65 72 65 | 73 69 73 29 0d 7b 0d 09 | hystere|sis).{..|
|00002c30| 69 66 20 28 66 48 61 6e | 64 6c 65 72 73 20 26 20 |if (fHan|dlers & |
|00002c40| 6b 4d 6f 75 73 65 55 70 | 4d 61 73 6b 29 0d 09 7b |kMouseUp|Mask)..{|
|00002c50| 0d 09 09 54 45 76 65 6e | 74 48 61 6e 64 6c 65 72 |...TEven|tHandler|
|00002c60| 2a 20 74 61 72 67 65 74 | 3b 0d 09 09 48 53 63 72 |* target|;...HScr|
|00002c70| 61 74 63 68 20 73 63 72 | 61 74 63 68 28 74 68 69 |atch scr|atch(thi|
|00002c80| 73 29 3b 0d 09 09 77 68 | 69 6c 65 20 28 28 74 61 |s);...wh|ile ((ta|
|00002c90| 72 67 65 74 20 3d 20 68 | 61 6e 64 6c 65 4d 65 73 |rget = h|andleMes|
|00002ca0| 73 61 67 65 28 6b 4d 6f | 75 73 65 55 70 4d 73 67 |sage(kMo|useUpMsg|
|00002cb0| 2c 20 30 2c 20 26 73 63 | 72 61 74 63 68 29 29 20 |, 0, &sc|ratch)) |
|00002cc0| 21 3d 20 30 29 0d 09 09 | 09 28 28 54 56 69 65 77 |!= 0)...|.((TView|
|00002cd0| 2a 29 20 74 61 72 67 65 | 74 29 2d 3e 48 61 6e 64 |*) targe|t)->Hand|
|00002ce0| 6c 65 4d 6f 75 73 65 55 | 70 28 74 68 65 4d 6f 75 |leMouseU|p(theMou|
|00002cf0| 73 65 2c 20 65 76 65 6e | 74 2c 20 68 79 73 74 65 |se, even|t, hyste|
|00002d00| 72 65 73 69 73 29 3b 0d | 09 09 72 65 74 75 72 6e |resis);.|..return|
|00002d10| 20 54 52 55 45 3b 0d 09 | 7d 0d 09 65 6c 73 65 0d | TRUE;..|}..else.|
|00002d20| 09 09 72 65 74 75 72 6e | 20 54 42 65 68 61 76 69 |..return| TBehavi|
|00002d30| 6f 72 3a 3a 44 6f 4d 6f | 75 73 65 55 70 28 74 68 |or::DoMo|useUp(th|
|00002d40| 65 4d 6f 75 73 65 2c 20 | 65 76 65 6e 74 2c 20 68 |eMouse, |event, h|
|00002d50| 79 73 74 65 72 65 73 69 | 73 29 3b 0d 7d 0d 0d 0d |ysteresi|s);.}...|
|00002d60| 2f 2f 09 4f 76 65 72 72 | 69 64 65 73 20 54 42 65 |//.Overr|ides TBe|
|00002d70| 68 61 76 69 6f 72 2e 0d | 2f 2f 09 48 61 6e 64 6c |havior..|//.Handl|
|00002d80| 65 20 53 65 74 75 70 4d | 65 6e 75 20 6d 65 73 73 |e SetupM|enu mess|
|00002d90| 61 67 65 73 2e 0d 2f 2f | 0d 4d 41 43 41 50 50 5f |ages..//|.MACAPP_|
|00002da0| 4d 45 54 48 4f 44 0d 76 | 6f 69 64 20 54 48 61 6e |METHOD.v|oid THan|
|00002db0| 64 6c 65 72 42 65 68 61 | 76 69 6f 72 3a 3a 44 6f |dlerBeha|vior::Do|
|00002dc0| 53 65 74 75 70 4d 65 6e | 75 73 28 29 0d 7b 0d 09 |SetupMen|us().{..|
|00002dd0| 69 66 20 28 66 48 61 6e | 64 6c 65 72 73 20 26 20 |if (fHan|dlers & |
|00002de0| 6b 53 65 74 75 70 4d 65 | 6e 75 4d 61 73 6b 29 0d |kSetupMe|nuMask).|
|00002df0| 09 7b 0d 09 09 54 45 76 | 65 6e 74 48 61 6e 64 6c |.{...TEv|entHandl|
|00002e00| 65 72 2a 20 74 61 72 67 | 65 74 3b 0d 09 09 48 53 |er* targ|et;...HS|
|00002e10| 63 72 61 74 63 68 20 73 | 63 72 61 74 63 68 28 74 |cratch s|cratch(t|
|00002e20| 68 69 73 29 3b 0d 09 09 | 77 68 69 6c 65 20 28 28 |his);...|while ((|
|00002e30| 74 61 72 67 65 74 20 3d | 20 68 61 6e 64 6c 65 4d |target =| handleM|
|00002e40| 65 73 73 61 67 65 28 6b | 53 65 74 75 70 4d 65 6e |essage(k|SetupMen|
|00002e50| 75 4d 73 67 2c 20 30 2c | 20 26 73 63 72 61 74 63 |uMsg, 0,| &scratc|
|00002e60| 68 29 29 20 21 3d 20 30 | 29 0d 09 09 09 74 61 72 |h)) != 0|)....tar|
|00002e70| 67 65 74 2d 3e 48 61 6e | 64 6c 65 53 65 74 75 70 |get->Han|dleSetup|
|00002e80| 4d 65 6e 75 73 28 29 3b | 0d 09 7d 0d 09 65 6c 73 |Menus();|..}..els|
|00002e90| 65 0d 09 09 54 42 65 68 | 61 76 69 6f 72 3a 3a 44 |e...TBeh|avior::D|
|00002ea0| 6f 53 65 74 75 70 4d 65 | 6e 75 73 28 29 3b 0d 7d |oSetupMe|nus();.}|
|00002eb0| 0d 0d 0d 2f 2f 09 48 61 | 6e 64 6c 65 20 75 73 65 |...//.Ha|ndle use|
|00002ec0| 72 20 64 65 66 69 6e 65 | 64 20 6d 65 73 73 61 67 |r define|d messag|
|00002ed0| 65 73 2e 0d 2f 2f 09 54 | 68 69 73 20 6d 75 73 74 |es..//.T|his must|
|00002ee0| 20 62 65 20 6f 76 65 72 | 72 69 64 64 65 6e 20 74 | be over|ridden t|
|00002ef0| 6f 20 68 61 6e 64 6c 65 | 20 63 75 73 74 6f 6d 20 |o handle| custom |
|00002f00| 6d 65 73 73 61 67 65 73 | 2e 0d 2f 2f 0d 4d 41 43 |messages|..//.MAC|
|00002f10| 41 50 50 5f 4d 45 54 48 | 4f 44 0d 76 6f 69 64 20 |APP_METH|OD.void |
|00002f20| 54 48 61 6e 64 6c 65 72 | 42 65 68 61 76 69 6f 72 |THandler|Behavior|
|00002f30| 3a 3a 44 6f 55 73 65 72 | 41 63 74 69 6f 6e 28 48 |::DoUser|Action(H|
|00002f40| 61 6e 64 6c 65 72 4d 65 | 73 73 61 67 65 2c 20 6c |andlerMe|ssage, l|
|00002f50| 6f 6e 67 2c 20 54 45 76 | 65 6e 74 48 61 6e 64 6c |ong, TEv|entHandl|
|00002f60| 65 72 2a 29 0d 7b 0d 7d | 0d 0d 0d 2f 2f 09 4f 76 |er*).{.}|...//.Ov|
|00002f70| 65 72 72 69 64 65 73 20 | 54 4f 62 6a 65 63 74 2e |errides |TObject.|
|00002f80| 0d 2f 2f 09 52 65 74 75 | 72 6e 20 74 68 65 20 73 |.//.Retu|rn the s|
|00002f90| 74 61 6e 64 61 72 64 20 | 73 69 67 6e 61 74 75 72 |tandard |signatur|
|00002fa0| 65 2e 0d 2f 2f 09 54 68 | 69 73 20 77 61 79 20 69 |e..//.Th|is way i|
|00002fb0| 66 20 74 68 65 20 75 73 | 65 72 20 6f 76 65 72 72 |f the us|er overr|
|00002fc0| 69 64 65 73 20 74 68 65 | 20 63 6c 61 73 73 2c 20 |ides the| class, |
|00002fd0| 77 65 27 6c 6c 20 73 74 | 69 6c 6c 20 6b 6e 6f 77 |we'll st|ill know|
|00002fe0| 20 77 68 61 74 20 69 74 | 20 69 73 2e 0d 2f 2f 0d | what it| is..//.|
|00002ff0| 4d 41 43 41 50 50 5f 4d | 45 54 48 4f 44 0d 49 44 |MACAPP_M|ETHOD.ID|
|00003000| 54 79 70 65 20 54 48 61 | 6e 64 6c 65 72 42 65 68 |Type THa|ndlerBeh|
|00003010| 61 76 69 6f 72 3a 3a 47 | 65 74 53 74 61 6e 64 61 |avior::G|etStanda|
|00003020| 72 64 53 69 67 6e 61 74 | 75 72 65 28 29 20 43 4f |rdSignat|ure() CO|
|00003030| 4e 53 54 0d 7b 0d 09 72 | 65 74 75 72 6e 20 6b 48 |NST.{..r|eturn kH|
|00003040| 61 6e 64 6c 65 72 42 65 | 68 61 76 69 6f 72 49 44 |andlerBe|haviorID|
|00003050| 3b 0d 7d 0d 0d 0d 2f 2f | 09 4f 76 65 72 72 69 64 |;.}...//|.Overrid|
|00003060| 65 73 20 54 4f 62 6a 65 | 63 74 2e 0d 2f 2f 09 52 |es TObje|ct..//.R|
|00003070| 65 61 64 20 74 68 65 20 | 62 65 68 61 76 69 6f 72 |ead the |behavior|
|00003080| 20 64 61 74 61 2e 0d 2f | 2f 0d 4d 41 43 41 50 50 | data../|/.MACAPP|
|00003090| 5f 4d 45 54 48 4f 44 0d | 76 6f 69 64 20 54 48 61 |_METHOD.|void THa|
|000030a0| 6e 64 6c 65 72 42 65 68 | 61 76 69 6f 72 3a 3a 52 |ndlerBeh|avior::R|
|000030b0| 65 61 64 46 72 6f 6d 28 | 54 53 74 72 65 61 6d 2a |eadFrom(|TStream*|
|000030c0| 20 61 53 74 72 65 61 6d | 29 0d 7b 0d 09 54 42 65 | aStream|).{..TBe|
|000030d0| 68 61 76 69 6f 72 3a 3a | 52 65 61 64 46 72 6f 6d |havior::|ReadFrom|
|000030e0| 28 61 53 74 72 65 61 6d | 29 3b 0d 0d 09 6c 6f 6e |(aStream|);...lon|
|000030f0| 67 20 73 69 7a 65 20 3d | 20 61 53 74 72 65 61 6d |g size =| aStream|
|00003100| 2d 3e 52 65 61 64 4c 6f | 6e 67 28 29 3b 0d 09 73 |->ReadLo|ng();..s|
|00003110| 68 6f 72 74 20 76 65 72 | 73 69 6f 6e 20 3d 20 61 |hort ver|sion = a|
|00003120| 53 74 72 65 61 6d 2d 3e | 52 65 61 64 49 6e 74 65 |Stream->|ReadInte|
|00003130| 67 65 72 28 29 3b 0d 09 | 69 66 20 28 76 65 72 73 |ger();..|if (vers|
|00003140| 69 6f 6e 20 3c 3d 20 6b | 56 65 72 73 69 6f 6e 4e |ion <= k|VersionN|
|00003150| 75 6d 29 0d 09 7b 0d 09 | 09 69 66 20 28 76 65 72 |um)..{..|.if (ver|
|00003160| 73 69 6f 6e 20 3e 20 31 | 29 0d 09 09 09 73 69 7a |sion > 1|)....siz|
|00003170| 65 20 3d 20 30 3b 0d 09 | 09 69 66 20 28 66 48 61 |e = 0;..|.if (fHa|
|00003180| 6e 64 6c 65 72 44 61 74 | 61 29 0d 09 09 09 53 65 |ndlerDat|a)....Se|
|00003190| 74 50 65 72 6d 48 61 6e | 64 6c 65 53 69 7a 65 28 |tPermHan|dleSize(|
|000031a0| 66 48 61 6e 64 6c 65 72 | 44 61 74 61 2c 20 73 69 |fHandler|Data, si|
|000031b0| 7a 65 29 3b 0d 09 09 65 | 6c 73 65 0d 09 09 7b 0d |ze);...e|lse...{.|
|000031c0| 09 09 09 48 61 6e 64 6c | 65 20 74 6d 70 48 61 6e |...Handl|e tmpHan|
|000031d0| 64 6c 65 20 3d 20 4e 65 | 77 50 65 72 6d 48 61 6e |dle = Ne|wPermHan|
|000031e0| 64 6c 65 28 73 69 7a 65 | 29 3b 0d 09 09 09 66 48 |dle(size|);....fH|
|000031f0| 61 6e 64 6c 65 72 44 61 | 74 61 20 3d 20 74 6d 70 |andlerDa|ta = tmp|
|00003200| 48 61 6e 64 6c 65 3b 0d | 09 09 7d 0d 0d 09 09 69 |Handle;.|..}....i|
|00003210| 66 20 28 76 65 72 73 69 | 6f 6e 20 3d 3d 20 31 29 |f (versi|on == 1)|
|00003220| 0d 09 09 7b 20 2f 2f 20 | 74 68 65 20 66 69 6c 65 |...{ // |the file|
|00003230| 20 63 6f 6e 74 61 69 6e | 73 20 70 61 64 64 65 64 | contain|s padded|
|00003240| 20 68 61 6e 64 6c 65 72 | 73 0d 09 09 09 66 44 61 | handler|s....fDa|
|00003250| 74 61 53 69 7a 65 20 3d | 20 73 69 7a 65 3b 0d 09 |taSize =| size;..|
|00003260| 09 09 48 4c 6f 63 6b 28 | 66 48 61 6e 64 6c 65 72 |..HLock(|fHandler|
|00003270| 44 61 74 61 29 3b 0d 09 | 09 09 61 53 74 72 65 61 |Data);..|..aStrea|
|00003280| 6d 2d 3e 52 65 61 64 42 | 79 74 65 73 28 2a 66 48 |m->ReadB|ytes(*fH|
|00003290| 61 6e 64 6c 65 72 44 61 | 74 61 2c 20 73 69 7a 65 |andlerDa|ta, size|
|000032a0| 29 3b 0d 09 09 09 48 55 | 6e 6c 6f 63 6b 28 66 48 |);....HU|nlock(fH|
|000032b0| 61 6e 64 6c 65 72 44 61 | 74 61 29 3b 0d 09 09 7d |andlerDa|ta);...}|
|000032c0| 0d 09 09 65 6c 73 65 0d | 09 09 7b 20 2f 2f 20 74 |...else.|..{ // t|
|000032d0| 68 65 20 68 61 6e 64 6c | 65 72 73 20 61 72 65 6e |he handl|ers aren|
|000032e0| 27 74 20 70 61 64 64 65 | 64 20 2d 20 77 65 20 68 |'t padde|d - we h|
|000032f0| 61 76 65 20 74 6f 20 72 | 65 61 64 20 74 68 65 6d |ave to r|ead them|
|00003300| 20 69 6e 64 69 76 69 64 | 75 61 6c 6c 79 0d 09 09 | individ|ually...|
|00003310| 09 75 6e 73 69 67 6e 65 | 64 20 63 68 61 72 20 62 |.unsigne|d char b|
|00003320| 75 66 66 65 72 5b 73 69 | 7a 65 6f 66 28 68 61 6e |uffer[si|zeof(han|
|00003330| 64 6c 65 72 44 61 74 61 | 29 20 2b 20 32 35 36 5d |dlerData|) + 256]|
|00003340| 3b 0d 09 09 09 73 68 6f | 72 74 20 6e 75 6d 48 61 |;....sho|rt numHa|
|00003350| 6e 64 6c 65 72 73 20 3d | 20 61 53 74 72 65 61 6d |ndlers =| aStream|
|00003360| 2d 3e 52 65 61 64 49 6e | 74 65 67 65 72 28 29 3b |->ReadIn|teger();|
|00003370| 0d 09 09 09 66 44 61 74 | 61 53 69 7a 65 20 3d 20 |....fDat|aSize = |
|00003380| 30 3b 0d 09 09 09 77 68 | 69 6c 65 20 28 6e 75 6d |0;....wh|ile (num|
|00003390| 48 61 6e 64 6c 65 72 73 | 2d 2d 20 3e 20 30 29 0d |Handlers|-- > 0).|
|000033a0| 09 09 09 7b 0d 09 09 09 | 09 61 53 74 72 65 61 6d |...{....|.aStream|
|000033b0| 2d 3e 52 65 61 64 42 79 | 74 65 73 28 28 50 74 72 |->ReadBy|tes((Ptr|
|000033c0| 29 20 62 75 66 66 65 72 | 2c 20 73 69 7a 65 6f 66 |) buffer|, sizeof|
|000033d0| 28 68 61 6e 64 6c 65 72 | 44 61 74 61 29 20 2b 20 |(handler|Data) + |
|000033e0| 31 29 3b 0d 09 09 09 09 | 61 53 74 72 65 61 6d 2d |1);.....|aStream-|
|000033f0| 3e 52 65 61 64 42 79 74 | 65 73 28 28 50 74 72 29 |>ReadByt|es((Ptr)|
|00003400| 20 28 62 75 66 66 65 72 | 20 2b 20 73 69 7a 65 6f | (buffer| + sizeo|
|00003410| 66 28 68 61 6e 64 6c 65 | 72 44 61 74 61 29 20 2b |f(handle|rData) +|
|00003420| 20 31 29 2c 20 62 75 66 | 66 65 72 5b 73 69 7a 65 | 1), buf|fer[size|
|00003430| 6f 66 28 68 61 6e 64 6c | 65 72 44 61 74 61 29 5d |of(handl|erData)]|
|00003440| 29 3b 0d 09 09 09 09 73 | 69 7a 65 20 3d 20 73 69 |);.....s|ize = si|
|00003450| 7a 65 6f 66 28 68 61 6e | 64 6c 65 72 44 61 74 61 |zeof(han|dlerData|
|00003460| 29 20 2b 20 62 75 66 66 | 65 72 5b 73 69 7a 65 6f |) + buff|er[sizeo|
|00003470| 66 28 68 61 6e 64 6c 65 | 72 44 61 74 61 29 5d 20 |f(handle|rData)] |
|00003480| 2b 20 31 3b 0d 09 09 09 | 09 69 66 20 28 73 69 7a |+ 1;....|.if (siz|
|00003490| 65 20 26 20 31 29 0d 09 | 09 09 09 09 2b 2b 73 69 |e & 1)..|....++si|
|000034a0| 7a 65 3b 09 09 2f 2f 20 | 72 6f 75 6e 64 20 75 70 |ze;..// |round up|
|000034b0| 20 74 6f 20 61 6e 20 65 | 76 65 6e 20 77 6f 72 64 | to an e|ven word|
|000034c0| 20 62 6f 75 6e 64 61 72 | 79 0d 09 09 09 09 53 65 | boundar|y.....Se|
|000034d0| 74 50 65 72 6d 48 61 6e | 64 6c 65 53 69 7a 65 28 |tPermHan|dleSize(|
|000034e0| 66 48 61 6e 64 6c 65 72 | 44 61 74 61 2c 20 66 44 |fHandler|Data, fD|
|000034f0| 61 74 61 53 69 7a 65 20 | 2b 20 73 69 7a 65 29 3b |ataSize |+ size);|
|00003500| 0d 09 09 09 09 42 6c 6f | 63 6b 4d 6f 76 65 28 28 |.....Blo|ckMove((|
|00003510| 50 74 72 29 20 62 75 66 | 66 65 72 2c 20 2a 66 48 |Ptr) buf|fer, *fH|
|00003520| 61 6e 64 6c 65 72 44 61 | 74 61 20 2b 20 66 44 61 |andlerDa|ta + fDa|
|00003530| 74 61 53 69 7a 65 2c 20 | 73 69 7a 65 29 3b 0d 09 |taSize, |size);..|
|00003540| 09 09 09 66 44 61 74 61 | 53 69 7a 65 20 2b 3d 20 |...fData|Size += |
|00003550| 73 69 7a 65 3b 0d 09 09 | 09 7d 0d 09 09 7d 0d 09 |size;...|.}...}..|
|00003560| 09 69 6e 69 74 48 61 6e | 64 6c 65 72 73 28 29 3b |.initHan|dlers();|
|00003570| 0d 09 09 69 66 20 28 66 | 48 61 6e 64 6c 65 72 73 |...if (f|Handlers|
|00003580| 20 26 20 6b 49 6e 69 74 | 69 61 6c 69 7a 65 4d 61 | & kInit|ializeMa|
|00003590| 73 6b 29 0d 09 09 7b 0d | 23 69 66 20 71 4d 61 63 |sk)...{.|#if qMac|
|000035a0| 41 70 70 56 65 72 73 69 | 6f 6e 20 3c 3d 20 33 33 |AppVersi|on <= 33|
|000035b0| 0d 09 09 09 54 48 61 6e | 64 6c 65 72 49 6e 69 74 |....THan|dlerInit|
|000035c0| 4d 73 67 43 6d 64 2a 20 | 69 6e 69 74 4d 73 67 43 |MsgCmd* |initMsgC|
|000035d0| 6d 64 20 3d 20 6e 65 77 | 20 54 48 61 6e 64 6c 65 |md = new| THandle|
|000035e0| 72 49 6e 69 74 4d 73 67 | 43 6d 64 3b 0d 09 09 09 |rInitMsg|Cmd;....|
|000035f0| 69 6e 69 74 4d 73 67 43 | 6d 64 2d 3e 49 48 61 6e |initMsgC|md->IHan|
|00003600| 64 6c 65 72 49 6e 69 74 | 4d 73 67 43 6d 64 28 74 |dlerInit|MsgCmd(t|
|00003610| 68 69 73 29 3b 0d 09 09 | 09 67 41 70 70 6c 69 63 |his);...|.gApplic|
|00003620| 61 74 69 6f 6e 2d 3e 50 | 6f 73 74 43 6f 6d 6d 61 |ation->P|ostComma|
|00003630| 6e 64 28 69 6e 69 74 4d | 73 67 43 6d 64 29 3b 0d |nd(initM|sgCmd);.|
|00003640| 23 65 6c 73 65 0d 09 09 | 09 67 41 70 70 6c 69 63 |#else...|.gApplic|
|00003650| 61 74 69 6f 6e 2d 3e 50 | 6f 73 74 43 6f 6d 6d 61 |ation->P|ostComma|
|00003660| 6e 64 28 54 48 5f 6e 65 | 77 20 54 48 61 6e 64 6c |nd(TH_ne|w THandl|
|00003670| 65 72 49 6e 69 74 4d 73 | 67 43 6d 64 28 74 68 69 |erInitMs|gCmd(thi|
|00003680| 73 29 29 3b 0d 23 65 6e | 64 69 66 0d 09 09 7d 0d |s));.#en|dif...}.|
|00003690| 09 7d 0d 09 65 6c 73 65 | 0d 09 7b 0d 23 69 66 20 |.}..else|..{.#if |
|000036a0| 71 4d 61 63 41 70 70 56 | 65 72 73 69 6f 6e 20 3c |qMacAppV|ersion <|
|000036b0| 3d 20 33 33 0d 09 09 61 | 53 74 72 65 61 6d 2d 3e |= 33...a|Stream->|
|000036c0| 53 65 74 50 6f 73 69 74 | 69 6f 6e 28 61 53 74 72 |SetPosit|ion(aStr|
|000036d0| 65 61 6d 2d 3e 47 65 74 | 50 6f 73 69 74 69 6f 6e |eam->Get|Position|
|000036e0| 28 29 20 2b 20 73 69 7a | 65 29 3b 0d 23 65 6c 73 |() + siz|e);.#els|
|000036f0| 65 0d 09 09 61 53 74 72 | 65 61 6d 2d 3e 53 65 74 |e...aStr|eam->Set|
|00003700| 52 65 61 64 50 6f 73 69 | 74 69 6f 6e 28 61 53 74 |ReadPosi|tion(aSt|
|00003710| 72 65 61 6d 2d 3e 47 65 | 74 52 65 61 64 50 6f 73 |ream->Ge|tReadPos|
|00003720| 69 74 69 6f 6e 28 29 20 | 2b 20 73 69 7a 65 29 3b |ition() |+ size);|
|00003730| 0d 23 65 6e 64 69 66 0d | 09 09 69 66 20 28 71 44 |.#endif.|..if (qD|
|00003740| 65 62 75 67 29 0d 09 09 | 09 50 52 4f 47 52 41 4d |ebug)...|.PROGRAM|
|00003750| 42 52 45 41 4b 28 22 49 | 6e 20 54 48 61 6e 64 6c |BREAK("I|n THandl|
|00003760| 65 72 42 65 68 61 76 69 | 6f 72 3a 20 75 6e 6b 6e |erBehavi|or: unkn|
|00003770| 6f 77 6e 20 76 65 72 73 | 69 6f 6e 22 29 3b 0d 09 |own vers|ion");..|
|00003780| 7d 0d 7d 0d 0d 0d 2f 2f | 09 4f 76 65 72 72 69 64 |}.}...//|.Overrid|
|00003790| 65 73 20 54 4f 62 6a 65 | 63 74 2e 0d 2f 2f 09 57 |es TObje|ct..//.W|
|000037a0| 72 69 74 65 20 74 68 65 | 20 62 65 68 61 76 69 6f |rite the| behavio|
|000037b0| 72 20 64 61 74 61 2e 0d | 2f 2f 0d 4d 41 43 41 50 |r data..|//.MACAP|
|000037c0| 50 5f 4d 45 54 48 4f 44 | 0d 76 6f 69 64 20 54 48 |P_METHOD|.void TH|
|000037d0| 61 6e 64 6c 65 72 42 65 | 68 61 76 69 6f 72 3a 3a |andlerBe|havior::|
|000037e0| 57 72 69 74 65 54 6f 28 | 54 53 74 72 65 61 6d 2a |WriteTo(|TStream*|
|000037f0| 20 61 53 74 72 65 61 6d | 29 20 43 4f 4e 53 54 0d | aStream|) CONST.|
|00003800| 7b 0d 09 54 42 65 68 61 | 76 69 6f 72 3a 3a 57 72 |{..TBeha|vior::Wr|
|00003810| 69 74 65 54 6f 28 61 53 | 74 72 65 61 6d 29 3b 0d |iteTo(aS|tream);.|
|00003820| 0d 09 2f 2f 20 63 6f 75 | 6e 74 20 74 68 65 20 6e |..// cou|nt the n|
|00003830| 75 6d 62 65 72 20 6f 66 | 20 68 61 6e 64 6c 65 72 |umber of| handler|
|00003840| 73 20 61 6e 64 20 74 68 | 65 20 6e 6f 6e 2d 70 61 |s and th|e non-pa|
|00003850| 64 64 65 64 20 64 61 74 | 61 20 73 69 7a 65 0d 09 |dded dat|a size..|
|00003860| 6c 6f 6e 67 20 73 74 72 | 4c 65 6e 67 74 68 3b 0d |long str|Length;.|
|00003870| 09 6c 6f 6e 67 20 73 69 | 7a 65 20 3d 20 30 3b 0d |.long si|ze = 0;.|
|00003880| 09 73 68 6f 72 74 20 6e | 75 6d 48 61 6e 64 6c 65 |.short n|umHandle|
|00003890| 72 73 20 3d 20 30 3b 0d | 09 6c 6f 6e 67 20 64 61 |rs = 0;.|.long da|
|000038a0| 74 61 4f 66 66 73 65 74 | 20 3d 20 30 3b 0d 09 69 |taOffset| = 0;..i|
|000038b0| 66 20 28 66 48 61 6e 64 | 6c 65 72 44 61 74 61 29 |f (fHand|lerData)|
|000038c0| 0d 09 7b 0d 23 69 66 20 | 71 4d 61 63 41 70 70 56 |..{.#if |qMacAppV|
|000038d0| 65 72 73 69 6f 6e 20 3c | 3d 20 33 33 0d 09 09 66 |ersion <|= 33...f|
|000038e0| 44 61 74 61 53 69 7a 65 | 20 3d 20 47 65 74 48 61 |DataSize| = GetHa|
|000038f0| 6e 64 6c 65 53 69 7a 65 | 28 66 48 61 6e 64 6c 65 |ndleSize|(fHandle|
|00003900| 72 44 61 74 61 29 3b 0d | 23 65 6c 73 65 0d 09 09 |rData);.|#else...|
|00003910| 28 28 54 48 61 6e 64 6c | 65 72 42 65 68 61 76 69 |((THandl|erBehavi|
|00003920| 6f 72 2a 29 20 74 68 69 | 73 29 2d 3e 66 44 61 74 |or*) thi|s)->fDat|
|00003930| 61 53 69 7a 65 20 3d 20 | 47 65 74 48 61 6e 64 6c |aSize = |GetHandl|
|00003940| 65 53 69 7a 65 28 66 48 | 61 6e 64 6c 65 72 44 61 |eSize(fH|andlerDa|
|00003950| 74 61 29 3b 20 2f 2f 20 | 76 69 6f 6c 61 74 65 73 |ta); // |violates|
|00003960| 20 63 6f 6e 73 74 2d 6e | 65 73 73 0d 23 65 6e 64 | const-n|ess.#end|
|00003970| 69 66 0d 09 09 77 68 69 | 6c 65 20 28 64 61 74 61 |if...whi|le (data|
|00003980| 4f 66 66 73 65 74 20 3c | 20 66 44 61 74 61 53 69 |Offset <| fDataSi|
|00003990| 7a 65 29 0d 09 09 7b 0d | 09 09 09 64 61 74 61 4f |ze)...{.|...dataO|
|000039a0| 66 66 73 65 74 20 2b 3d | 20 73 69 7a 65 6f 66 28 |ffset +=| sizeof(|
|000039b0| 68 61 6e 64 6c 65 72 44 | 61 74 61 29 3b 0d 09 09 |handlerD|ata);...|
|000039c0| 09 73 74 72 4c 65 6e 67 | 74 68 20 3d 20 28 2a 28 |.strLeng|th = (*(|
|000039d0| 75 6e 73 69 67 6e 65 64 | 20 63 68 61 72 2a 2a 29 |unsigned| char**)|
|000039e0| 20 66 48 61 6e 64 6c 65 | 72 44 61 74 61 29 5b 64 | fHandle|rData)[d|
|000039f0| 61 74 61 4f 66 66 73 65 | 74 5d 3b 0d 09 09 09 64 |ataOffse|t];....d|
|00003a00| 61 74 61 4f 66 66 73 65 | 74 20 2b 3d 20 73 74 72 |ataOffse|t += str|
|00003a10| 4c 65 6e 67 74 68 20 2b | 20 31 3b 0d 09 09 09 69 |Length +| 1;....i|
|00003a20| 66 20 28 73 74 72 4c 65 | 6e 67 74 68 20 25 20 32 |f (strLe|ngth % 2|
|00003a30| 20 3d 3d 20 30 29 0d 09 | 09 09 09 2b 2b 64 61 74 | == 0)..|...++dat|
|00003a40| 61 4f 66 66 73 65 74 3b | 0d 0d 09 09 09 73 69 7a |aOffset;|.....siz|
|00003a50| 65 20 2b 3d 20 73 69 7a | 65 6f 66 28 68 61 6e 64 |e += siz|eof(hand|
|00003a60| 6c 65 72 44 61 74 61 29 | 20 2b 20 73 74 72 4c 65 |lerData)| + strLe|
|00003a70| 6e 67 74 68 20 2b 20 31 | 3b 0d 09 09 09 2b 2b 6e |ngth + 1|;....++n|
|00003a80| 75 6d 48 61 6e 64 6c 65 | 72 73 3b 0d 09 09 7d 0d |umHandle|rs;...}.|
|00003a90| 09 7d 0d 0d 09 2f 2f 20 | 77 72 69 74 65 20 74 68 |.}...// |write th|
|00003aa0| 65 20 68 61 6e 64 6c 65 | 72 20 64 61 74 61 20 74 |e handle|r data t|
|00003ab0| 6f 20 74 68 65 20 73 74 | 72 65 61 6d 0d 09 61 53 |o the st|ream..aS|
|00003ac0| 74 72 65 61 6d 2d 3e 57 | 72 69 74 65 4c 6f 6e 67 |tream->W|riteLong|
|00003ad0| 28 73 69 7a 65 20 2b 20 | 73 69 7a 65 6f 66 28 6e |(size + |sizeof(n|
|00003ae0| 75 6d 48 61 6e 64 6c 65 | 72 73 29 29 3b 0d 09 73 |umHandle|rs));..s|
|00003af0| 68 6f 72 74 20 76 65 72 | 73 69 6f 6e 20 3d 20 6b |hort ver|sion = k|
|00003b00| 56 65 72 73 69 6f 6e 4e | 75 6d 3b 0d 09 61 53 74 |VersionN|um;..aSt|
|00003b10| 72 65 61 6d 2d 3e 57 72 | 69 74 65 49 6e 74 65 67 |ream->Wr|iteInteg|
|00003b20| 65 72 28 76 65 72 73 69 | 6f 6e 29 3b 0d 09 61 53 |er(versi|on);..aS|
|00003b30| 74 72 65 61 6d 2d 3e 57 | 72 69 74 65 49 6e 74 65 |tream->W|riteInte|
|00003b40| 67 65 72 28 6e 75 6d 48 | 61 6e 64 6c 65 72 73 29 |ger(numH|andlers)|
|00003b50| 3b 0d 09 48 4c 6f 63 6b | 28 66 48 61 6e 64 6c 65 |;..HLock|(fHandle|
|00003b60| 72 44 61 74 61 29 3b 0d | 0d 09 64 61 74 61 4f 66 |rData);.|..dataOf|
|00003b70| 66 73 65 74 20 3d 20 30 | 3b 0d 09 77 68 69 6c 65 |fset = 0|;..while|
|00003b80| 20 28 6e 75 6d 48 61 6e | 64 6c 65 72 73 2d 2d 20 | (numHan|dlers-- |
|00003b90| 3e 20 30 29 0d 09 7b 0d | 09 09 73 74 72 4c 65 6e |> 0)..{.|..strLen|
|00003ba0| 67 74 68 20 3d 20 28 2a | 28 75 6e 73 69 67 6e 65 |gth = (*|(unsigne|
|00003bb0| 64 20 63 68 61 72 2a 2a | 29 20 66 48 61 6e 64 6c |d char**|) fHandl|
|00003bc0| 65 72 44 61 74 61 29 5b | 64 61 74 61 4f 66 66 73 |erData)[|dataOffs|
|00003bd0| 65 74 20 2b 20 73 69 7a | 65 6f 66 28 68 61 6e 64 |et + siz|eof(hand|
|00003be0| 6c 65 72 44 61 74 61 29 | 5d 3b 0d 09 09 61 53 74 |lerData)|];...aSt|
|00003bf0| 72 65 61 6d 2d 3e 57 72 | 69 74 65 42 79 74 65 73 |ream->Wr|iteBytes|
|00003c00| 28 2a 66 48 61 6e 64 6c | 65 72 44 61 74 61 20 2b |(*fHandl|erData +|
|00003c10| 20 64 61 74 61 4f 66 66 | 73 65 74 2c 20 73 69 7a | dataOff|set, siz|
|00003c20| 65 6f 66 28 68 61 6e 64 | 6c 65 72 44 61 74 61 29 |eof(hand|lerData)|
|00003c30| 20 2b 20 73 74 72 4c 65 | 6e 67 74 68 20 2b 20 31 | + strLe|ngth + 1|
|00003c40| 29 3b 0d 09 09 64 61 74 | 61 4f 66 66 73 65 74 20 |);...dat|aOffset |
|00003c50| 2b 3d 20 73 69 7a 65 6f | 66 28 68 61 6e 64 6c 65 |+= sizeo|f(handle|
|00003c60| 72 44 61 74 61 29 20 2b | 20 73 74 72 4c 65 6e 67 |rData) +| strLeng|
|00003c70| 74 68 20 2b 20 31 3b 0d | 09 09 69 66 20 28 73 74 |th + 1;.|..if (st|
|00003c80| 72 4c 65 6e 67 74 68 20 | 25 20 32 20 3d 3d 20 30 |rLength |% 2 == 0|
|00003c90| 29 0d 09 09 09 2b 2b 64 | 61 74 61 4f 66 66 73 65 |)....++d|ataOffse|
|00003ca0| 74 3b 0d 09 7d 0d 0d 09 | 48 55 6e 6c 6f 63 6b 28 |t;..}...|HUnlock(|
|00003cb0| 66 48 61 6e 64 6c 65 72 | 44 61 74 61 29 3b 0d 7d |fHandler|Data);.}|
|00003cc0| 0d 0d 0d 2f 2f 09 47 65 | 74 20 74 68 65 20 64 79 |...//.Ge|t the dy|
|00003cd0| 6e 61 6d 69 63 20 64 61 | 74 61 20 68 61 6e 64 6c |namic da|ta handl|
|00003ce0| 65 2e 0d 2f 2f 09 54 68 | 69 73 20 66 75 6e 63 74 |e..//.Th|is funct|
|00003cf0| 69 6f 6e 20 69 73 20 75 | 73 65 64 20 62 79 20 41 |ion is u|sed by A|
|00003d00| 64 20 4c 69 62 20 74 6f | 20 73 65 74 20 74 68 65 |d Lib to| set the|
|00003d10| 20 68 61 6e 64 6c 65 72 | 73 20 64 61 74 61 2e 0d | handler|s data..|
|00003d20| 2f 2f 0d 2f 2f 09 52 45 | 54 55 52 4e 53 3a 09 61 |//.//.RE|TURNS:.a|
|00003d30| 20 76 61 6c 69 64 20 68 | 61 6e 64 6c 65 0d 2f 2f | valid h|andle.//|
|00003d40| 0d 48 61 6e 64 6c 65 20 | 54 48 61 6e 64 6c 65 72 |.Handle |THandler|
|00003d50| 42 65 68 61 76 69 6f 72 | 3a 3a 47 65 74 48 61 6e |Behavior|::GetHan|
|00003d60| 64 6c 65 72 44 61 74 61 | 28 29 0d 7b 0d 09 69 66 |dlerData|().{..if|
|00003d70| 20 28 21 66 48 61 6e 64 | 6c 65 72 44 61 74 61 29 | (!fHand|lerData)|
|00003d80| 0d 09 7b 0d 09 09 48 61 | 6e 64 6c 65 20 74 6d 70 |..{...Ha|ndle tmp|
|00003d90| 48 61 6e 64 6c 65 20 3d | 20 4e 65 77 50 65 72 6d |Handle =| NewPerm|
|00003da0| 48 61 6e 64 6c 65 28 30 | 29 3b 0d 09 09 66 48 61 |Handle(0|);...fHa|
|00003db0| 6e 64 6c 65 72 44 61 74 | 61 20 3d 20 74 6d 70 48 |ndlerDat|a = tmpH|
|00003dc0| 61 6e 64 6c 65 3b 0d 09 | 7d 0d 0d 09 72 65 74 75 |andle;..|}...retu|
|00003dd0| 72 6e 20 66 48 61 6e 64 | 6c 65 72 44 61 74 61 3b |rn fHand|lerData;|
|00003de0| 0d 7d 0d 0d 0d 2f 2f 2f | 2f 2f 2f 2f 2f 2f 2f 2f |.}...///|////////|
|00003df0| 2f 2f 2f 2f 2f 2f 2f 2f | 2f 2f 2f 2f 2f 2f 20 54 |////////|////// T|
|00003e00| 48 61 6e 64 6c 65 72 42 | 65 68 61 76 69 6f 72 20 |HandlerB|ehavior |
|00003e10| 28 70 72 69 76 61 74 65 | 29 20 2f 2f 2f 2f 2f 2f |(private|) //////|
|00003e20| 2f 2f 2f 2f 2f 2f 2f 2f | 2f 2f 2f 2f 2f 2f 2f 2f |////////|////////|
|00003e30| 2f 2f 2f 0d 0d 74 79 70 | 65 64 65 66 20 65 6e 75 |///..typ|edef enu|
|00003e40| 6d 0d 7b 0d 09 6b 4e 75 | 6c 6c 41 63 74 69 6f 6e |m.{..kNu|llAction|
|00003e50| 2c 0d 09 6b 43 6c 6f 73 | 65 41 63 74 69 6f 6e 2c |,..kClos|eAction,|
|00003e60| 0d 09 6b 43 6c 6f 73 65 | 41 6e 64 46 72 65 65 41 |..kClose|AndFreeA|
|00003e70| 63 74 69 6f 6e 2c 0d 09 | 6b 45 6e 61 62 6c 65 4d |ction,..|kEnableM|
|00003e80| 65 6e 75 41 63 74 69 6f | 6e 2c 0d 09 6b 46 6f 72 |enuActio|n,..kFor|
|00003e90| 77 61 72 64 41 63 74 69 | 6f 6e 2c 0d 09 6b 4f 70 |wardActi|on,..kOp|
|00003ea0| 65 6e 57 69 6e 64 6f 77 | 41 63 74 69 6f 6e 2c 0d |enWindow|Action,.|
|00003eb0| 09 6b 50 6f 73 65 4d 6f | 64 61 6c 41 63 74 69 6f |.kPoseMo|dalActio|
|00003ec0| 6e 2c 0d 09 6b 53 63 72 | 69 70 74 41 63 74 69 6f |n,..kScr|iptActio|
|00003ed0| 6e 2c 0d 09 6b 45 76 65 | 6e 74 41 63 74 69 6f 6e |n,..kEve|ntAction|
|00003ee0| 2c 0d 09 6b 4d 65 6e 75 | 43 6f 6d 6d 61 6e 64 41 |,..kMenu|CommandA|
|00003ef0| 63 74 69 6f 6e 2c 0d 09 | 6b 55 70 64 61 74 65 41 |ction,..|kUpdateA|
|00003f00| 63 74 69 6f 6e 2c 0d 09 | 6b 53 65 74 55 73 65 72 |ction,..|kSetUser|
|00003f10| 56 61 6c 75 65 41 63 74 | 69 6f 6e 2c 0d 09 6b 55 |ValueAct|ion,..kU|
|00003f20| 73 65 72 44 65 66 69 6e | 65 64 41 63 74 69 6f 6e |serDefin|edAction|
|00003f30| 2c 0d 09 6b 41 64 64 44 | 65 70 65 6e 64 65 6e 74 |,..kAddD|ependent|
|00003f40| 41 63 74 69 6f 6e 2c 0d | 09 6b 52 6d 76 44 65 70 |Action,.|.kRmvDep|
|00003f50| 65 6e 64 65 6e 74 41 63 | 74 69 6f 6e 2c 0d 09 6b |endentAc|tion,..k|
|00003f60| 44 65 70 65 6e 64 73 4f | 6e 41 63 74 69 6f 6e 2c |DependsO|nAction,|
|00003f70| 0d 09 6b 4e 6f 74 44 65 | 70 65 6e 64 73 4f 6e 41 |..kNotDe|pendsOnA|
|00003f80| 63 74 69 6f 6e 0d 7d 20 | 61 63 74 69 6f 6e 54 79 |ction.} |actionTy|
|00003f90| 70 65 3b 0d 0d 74 79 70 | 65 64 65 66 20 65 6e 75 |pe;..typ|edef enu|
|00003fa0| 6d 0d 7b 0d 09 6b 4e 75 | 6c 6c 54 61 72 67 65 74 |m.{..kNu|llTarget|
|00003fb0| 2c 0d 09 6b 41 70 70 6c | 69 63 61 74 69 6f 6e 54 |,..kAppl|icationT|
|00003fc0| 61 72 67 65 74 2c 0d 09 | 6b 44 6f 63 75 6d 65 6e |arget,..|kDocumen|
|00003fd0| 74 54 61 72 67 65 74 2c | 0d 09 6b 53 65 6c 66 54 |tTarget,|..kSelfT|
|00003fe0| 61 72 67 65 74 2c 0d 09 | 6b 53 75 62 76 69 65 77 |arget,..|kSubview|
|00003ff0| 54 61 72 67 65 74 2c 0d | 09 6b 53 75 70 65 72 76 |Target,.|.kSuperv|
|00004000| 69 65 77 54 61 72 67 65 | 74 2c 0d 09 6b 54 61 72 |iewTarge|t,..kTar|
|00004010| 67 65 74 43 68 61 69 6e | 54 61 72 67 65 74 2c 0d |getChain|Target,.|
|00004020| 09 6b 56 69 65 77 54 61 | 72 67 65 74 2c 0d 09 6b |.kViewTa|rget,..k|
|00004030| 56 69 65 77 57 69 6e 64 | 6f 77 54 61 72 67 65 74 |ViewWind|owTarget|
|00004040| 2c 0d 09 6b 57 69 6e 64 | 6f 77 54 61 72 67 65 74 |,..kWind|owTarget|
|00004050| 2c 0d 09 6b 57 69 6e 64 | 6f 77 49 44 54 61 72 67 |,..kWind|owIDTarg|
|00004060| 65 74 0d 7d 20 74 61 72 | 67 65 74 54 79 70 65 3b |et.} tar|getType;|
|00004070| 0d 0d 0d 2f 2f 09 50 72 | 6f 63 65 73 73 20 61 6c |...//.Pr|ocess al|
|00004080| 6c 20 6d 65 73 73 61 67 | 65 73 20 6d 61 74 63 68 |l messag|es match|
|00004090| 69 6e 67 20 74 68 65 20 | 70 61 72 61 6d 65 74 65 |ing the |paramete|
|000040a0| 72 73 2e 0d 2f 2f 09 53 | 65 61 72 63 68 65 73 20 |rs..//.S|earches |
|000040b0| 61 20 62 65 68 61 76 69 | 6f 72 73 20 64 79 6e 61 |a behavi|ors dyna|
|000040c0| 6d 69 63 20 64 61 74 61 | 20 66 6f 72 20 6d 65 73 |mic data| for mes|
|000040d0| 73 61 67 65 73 20 74 68 | 61 74 20 6d 61 74 63 68 |sages th|at match|
|000040e0| 20 74 68 65 20 70 61 72 | 61 6d 65 74 65 72 73 2e | the par|ameters.|
|000040f0| 0d 2f 2f 09 57 68 65 6e | 20 69 74 20 66 69 6e 64 |.//.When| it find|
|00004100| 73 20 61 20 6d 61 74 63 | 68 69 6e 67 20 6d 65 73 |s a matc|hing mes|
|00004110| 73 61 67 65 2c 20 69 74 | 20 66 69 6e 64 73 20 74 |sage, it| finds t|
|00004120| 68 65 20 74 61 72 67 65 | 74 20 61 6e 64 20 70 65 |he targe|t and pe|
|00004130| 72 66 6f 72 6d 73 20 74 | 68 65 20 61 63 74 69 6f |rforms t|he actio|
|00004140| 6e 2e 0d 2f 2f 09 41 20 | 73 70 65 63 69 61 6c 20 |n..//.A |special |
|00004150| 63 61 73 65 20 61 63 74 | 69 6f 6e 20 69 73 20 6b |case act|ion is k|
|00004160| 46 6f 72 77 61 72 64 41 | 63 74 69 6f 6e 20 77 68 |ForwardA|ction wh|
|00004170| 69 63 68 20 69 73 20 72 | 65 74 75 72 6e 65 64 20 |ich is r|eturned |
|00004180| 74 6f 20 74 68 65 20 63 | 61 6c 6c 69 6e 67 20 6d |to the c|alling m|
|00004190| 65 74 68 6f 64 20 74 6f | 20 70 65 72 66 6f 72 6d |ethod to| perform|
|000041a0| 2e 0d 2f 2f 09 54 68 69 | 73 20 66 75 6e 63 74 69 |..//.Thi|s functi|
|000041b0| 6f 6e 20 69 73 20 73 74 | 61 74 69 63 20 69 6e 20 |on is st|atic in |
|000041c0| 63 61 73 65 20 74 68 65 | 20 62 65 68 61 76 69 6f |case the| behavio|
|000041d0| 72 20 69 73 20 66 72 65 | 65 64 20 77 68 69 6c 65 |r is fre|ed while|
|000041e0| 20 70 72 6f 63 65 73 73 | 69 6e 67 20 61 20 6d 65 | process|ing a me|
|000041f0| 73 73 61 67 65 2e 0d 2f | 2f 0d 2f 2f 09 6d 65 73 |ssage../|/.//.mes|
|00004200| 73 61 67 65 3a 09 09 74 | 68 65 20 6d 65 73 73 61 |sage:..t|he messa|
|00004210| 67 65 20 74 79 70 65 0d | 2f 2f 09 6d 73 67 50 61 |ge type.|//.msgPa|
|00004220| 72 61 6d 3a 09 09 74 68 | 65 20 6d 65 73 73 61 67 |ram:..th|e messag|
|00004230| 65 20 70 61 72 61 6d 65 | 74 65 72 0d 2f 2f 09 73 |e parame|ter.//.s|
|00004240| 63 72 61 74 63 68 3a 09 | 09 73 63 72 61 74 63 68 |cratch:.|.scratch|
|00004250| 20 64 61 74 61 20 74 6f | 20 6d 61 69 6e 74 61 69 | data to| maintai|
|00004260| 6e 20 73 74 61 74 65 20 | 66 6f 72 20 72 65 65 6e |n state |for reen|
|00004270| 74 72 61 6e 74 20 63 61 | 6c 6c 73 20 28 6d 75 73 |trant ca|lls (mus|
|00004280| 74 20 62 65 20 48 53 63 | 72 61 74 63 68 2a 29 0d |t be HSc|ratch*).|
|00004290| 2f 2f 0d 2f 2f 09 52 45 | 54 55 52 4e 53 3a 09 09 |//.//.RE|TURNS:..|
|000042a0| 61 20 74 61 72 67 65 74 | 20 74 6f 20 66 6f 72 77 |a target| to forw|
|000042b0| 61 72 64 20 74 6f 20 6f | 72 20 4e 55 4c 4c 20 77 |ard to o|r NULL w|
|000042c0| 68 65 6e 20 64 6f 6e 65 | 0d 2f 2f 0d 54 45 76 65 |hen done|.//.TEve|
|000042d0| 6e 74 48 61 6e 64 6c 65 | 72 2a 20 54 48 61 6e 64 |ntHandle|r* THand|
|000042e0| 6c 65 72 42 65 68 61 76 | 69 6f 72 3a 3a 68 61 6e |lerBehav|ior::han|
|000042f0| 64 6c 65 4d 65 73 73 61 | 67 65 28 48 61 6e 64 6c |dleMessa|ge(Handl|
|00004300| 65 72 4d 65 73 73 61 67 | 65 20 6d 65 73 73 61 67 |erMessag|e messag|
|00004310| 65 2c 20 6c 6f 6e 67 20 | 6d 73 67 50 61 72 61 6d |e, long |msgParam|
|00004320| 2c 20 76 6f 69 64 2a 20 | 73 63 72 61 74 63 68 29 |, void* |scratch)|
|00004330| 0d 7b 0d 09 54 48 61 6e | 64 6c 65 72 42 65 68 61 |.{..THan|dlerBeha|
|00004340| 76 69 6f 72 2a 20 62 65 | 68 61 76 69 6f 72 20 3d |vior* be|havior =|
|00004350| 20 28 54 48 61 6e 64 6c | 65 72 42 65 68 61 76 69 | (THandl|erBehavi|
|00004360| 6f 72 2a 29 20 28 28 48 | 53 63 72 61 74 63 68 2a |or*) ((H|Scratch*|
|00004370| 29 20 73 63 72 61 74 63 | 68 29 2d 3e 62 65 68 61 |) scratc|h)->beha|
|00004380| 76 69 6f 72 3b 0d 09 69 | 66 20 28 28 28 48 53 63 |vior;..i|f (((HSc|
|00004390| 72 61 74 63 68 2a 29 20 | 73 63 72 61 74 63 68 29 |ratch*) |scratch)|
|000043a0| 2d 3e 64 61 74 61 4f 66 | 66 73 65 74 20 3d 3d 20 |->dataOf|fset == |
|000043b0| 30 29 0d 09 7b 0d 09 09 | 2f 2f 20 74 68 69 73 20 |0)..{...|// this |
|000043c0| 69 73 20 74 68 65 20 66 | 69 72 73 74 20 74 69 6d |is the f|irst tim|
|000043d0| 65 20 74 68 72 6f 75 67 | 68 0d 09 09 62 65 68 61 |e throug|h...beha|
|000043e0| 76 69 6f 72 2d 3e 66 46 | 72 65 65 46 6c 61 67 50 |vior->fF|reeFlagP|
|000043f0| 74 72 20 3d 20 26 28 28 | 48 53 63 72 61 74 63 68 |tr = &((|HScratch|
|00004400| 2a 29 20 73 63 72 61 74 | 63 68 29 2d 3e 62 65 68 |*) scrat|ch)->beh|
|00004410| 61 76 69 6f 72 46 72 65 | 65 64 3b 0d 09 09 62 65 |aviorFre|ed;...be|
|00004420| 68 61 76 69 6f 72 2d 3e | 53 65 74 45 6e 61 62 6c |havior->|SetEnabl|
|00004430| 65 64 28 46 41 4c 53 45 | 29 3b 09 2f 2f 20 74 6f |ed(FALSE|);.// to|
|00004440| 20 61 76 6f 69 64 20 72 | 65 63 75 72 73 69 6f 6e | avoid r|ecursion|
|00004450| 0d 09 7d 0d 09 65 6c 73 | 65 0d 09 09 69 66 20 28 |..}..els|e...if (|
|00004460| 28 28 48 53 63 72 61 74 | 63 68 2a 29 20 73 63 72 |((HScrat|ch*) scr|
|00004470| 61 74 63 68 29 2d 3e 62 | 65 68 61 76 69 6f 72 46 |atch)->b|ehaviorF|
|00004480| 72 65 65 64 29 0d 09 09 | 09 72 65 74 75 72 6e 20 |reed)...|.return |
|00004490| 4e 55 4c 4c 3b 09 09 2f | 2f 20 74 68 65 20 62 65 |NULL;../|/ the be|
|000044a0| 68 61 76 69 6f 72 20 77 | 61 73 20 66 72 65 65 64 |havior w|as freed|
|000044b0| 20 77 68 69 6c 65 20 66 | 6f 72 77 61 72 64 69 6e | while f|orwardin|
|000044c0| 67 20 74 68 65 20 6d 65 | 73 73 61 67 65 0d 0d 09 |g the me|ssage...|
|000044d0| 68 61 6e 64 6c 65 72 44 | 61 74 61 2a 20 64 61 74 |handlerD|ata* dat|
|000044e0| 61 20 3d 20 28 68 61 6e | 64 6c 65 72 44 61 74 61 |a = (han|dlerData|
|000044f0| 2a 29 20 28 2a 28 62 65 | 68 61 76 69 6f 72 2d 3e |*) (*(be|havior->|
|00004500| 66 48 61 6e 64 6c 65 72 | 44 61 74 61 29 20 2b 20 |fHandler|Data) + |
|00004510| 28 28 48 53 63 72 61 74 | 63 68 2a 29 20 73 63 72 |((HScrat|ch*) scr|
|00004520| 61 74 63 68 29 2d 3e 64 | 61 74 61 4f 66 66 73 65 |atch)->d|ataOffse|
|00004530| 74 29 3b 0d 09 66 6f 72 | 20 28 3b 3b 29 0d 09 7b |t);..for| (;;)..{|
|00004540| 0d 09 09 2f 2f 20 63 68 | 65 63 6b 20 66 6f 72 20 |...// ch|eck for |
|00004550| 65 6e 64 20 6f 66 20 64 | 61 74 61 0d 09 09 69 66 |end of d|ata...if|
|00004560| 20 28 28 28 48 53 63 72 | 61 74 63 68 2a 29 20 73 | (((HScr|atch*) s|
|00004570| 63 72 61 74 63 68 29 2d | 3e 64 61 74 61 4f 66 66 |cratch)-|>dataOff|
|00004580| 73 65 74 20 3e 3d 20 62 | 65 68 61 76 69 6f 72 2d |set >= b|ehavior-|
|00004590| 3e 66 44 61 74 61 53 69 | 7a 65 29 0d 09 09 7b 0d |>fDataSi|ze)...{.|
|000045a0| 09 09 09 62 65 68 61 76 | 69 6f 72 2d 3e 66 46 72 |...behav|ior->fFr|
|000045b0| 65 65 46 6c 61 67 50 74 | 72 20 3d 20 4e 55 4c 4c |eeFlagPt|r = NULL|
|000045c0| 3b 0d 09 09 09 62 65 68 | 61 76 69 6f 72 2d 3e 53 |;....beh|avior->S|
|000045d0| 65 74 45 6e 61 62 6c 65 | 64 28 54 52 55 45 29 3b |etEnable|d(TRUE);|
|000045e0| 0d 09 09 09 72 65 74 75 | 72 6e 20 4e 55 4c 4c 3b |....retu|rn NULL;|
|000045f0| 0d 09 09 7d 0d 0d 09 09 | 2f 2f 20 66 69 6e 64 20 |...}....|// find |
|00004600| 74 68 65 20 62 65 67 69 | 6e 6e 69 6e 67 20 6f 66 |the begi|nning of|
|00004610| 20 74 68 65 20 6e 65 78 | 74 20 68 61 6e 64 6c 65 | the nex|t handle|
|00004620| 72 0d 09 09 6c 6f 6e 67 | 20 68 61 6e 64 6c 65 72 |r...long| handler|
|00004630| 53 69 7a 65 20 3d 20 73 | 69 7a 65 6f 66 28 68 61 |Size = s|izeof(ha|
|00004640| 6e 64 6c 65 72 44 61 74 | 61 29 20 2b 20 2a 28 28 |ndlerDat|a) + *((|
|00004650| 75 6e 73 69 67 6e 65 64 | 20 63 68 61 72 2a 29 20 |unsigned| char*) |
|00004660| 28 64 61 74 61 20 2b 20 | 31 29 29 20 2b 20 31 3b |(data + |1)) + 1;|
|00004670| 0d 09 09 69 66 20 28 68 | 61 6e 64 6c 65 72 53 69 |...if (h|andlerSi|
|00004680| 7a 65 20 26 20 31 29 0d | 09 09 09 2b 2b 68 61 6e |ze & 1).|...++han|
|00004690| 64 6c 65 72 53 69 7a 65 | 3b 09 09 2f 2f 20 72 6f |dlerSize|;..// ro|
|000046a0| 75 6e 64 20 75 70 20 74 | 6f 20 61 6e 20 65 76 65 |und up t|o an eve|
|000046b0| 6e 20 77 6f 72 64 20 62 | 6f 75 6e 64 61 72 79 0d |n word b|oundary.|
|000046c0| 09 09 28 28 48 53 63 72 | 61 74 63 68 2a 29 20 73 |..((HScr|atch*) s|
|000046d0| 63 72 61 74 63 68 29 2d | 3e 64 61 74 61 4f 66 66 |cratch)-|>dataOff|
|000046e0| 73 65 74 20 2b 3d 20 68 | 61 6e 64 6c 65 72 53 69 |set += h|andlerSi|
|000046f0| 7a 65 3b 0d 0d 09 09 2f | 2f 20 63 68 65 63 6b 20 |ze;..../|/ check |
|00004700| 74 6f 20 63 75 72 72 65 | 6e 74 20 68 61 6e 64 6c |to curre|nt handl|
|00004710| 65 72 20 66 6f 72 20 61 | 20 6d 61 74 63 68 0d 09 |er for a| match..|
|00004720| 09 69 66 20 28 64 61 74 | 61 2d 3e 6d 65 73 73 61 |.if (dat|a->messa|
|00004730| 67 65 20 3d 3d 20 6d 65 | 73 73 61 67 65 20 26 26 |ge == me|ssage &&|
|00004740| 20 28 64 61 74 61 2d 3e | 61 6e 79 4d 65 73 73 61 | (data->|anyMessa|
|00004750| 67 65 20 7c 7c 20 64 61 | 74 61 2d 3e 6d 65 73 73 |ge || da|ta->mess|
|00004760| 61 67 65 50 61 72 61 6d | 20 3d 3d 20 6d 73 67 50 |ageParam| == msgP|
|00004770| 61 72 61 6d 29 29 0d 09 | 09 7b 0d 09 09 09 2f 2f |aram))..|.{....//|
|00004780| 20 66 6f 75 6e 64 20 61 | 20 6d 61 74 63 68 20 2d | found a| match -|
|00004790| 20 66 69 6e 64 20 74 68 | 65 20 74 61 72 67 65 74 | find th|e target|
|000047a0| 0d 09 09 09 54 45 76 65 | 6e 74 48 61 6e 64 6c 65 |....TEve|ntHandle|
|000047b0| 72 2a 20 74 61 72 67 65 | 74 20 3d 20 62 65 68 61 |r* targe|t = beha|
|000047c0| 76 69 6f 72 2d 3e 67 65 | 74 54 61 72 67 65 74 28 |vior->ge|tTarget(|
|000047d0| 64 61 74 61 29 3b 0d 09 | 09 09 69 66 20 28 74 61 |data);..|..if (ta|
|000047e0| 72 67 65 74 29 0d 09 09 | 09 7b 0d 09 09 09 09 2f |rget)...|.{...../|
|000047f0| 2f 20 66 6f 75 6e 64 20 | 61 20 74 61 72 67 65 74 |/ found |a target|
|00004800| 20 2d 20 6e 6f 77 20 64 | 6f 20 74 68 65 20 61 63 | - now d|o the ac|
|00004810| 74 69 6f 6e 0d 09 09 09 | 09 69 66 20 28 64 61 74 |tion....|.if (dat|
|00004820| 61 2d 3e 61 63 74 69 6f | 6e 20 3d 3d 20 6b 46 6f |a->actio|n == kFo|
|00004830| 72 77 61 72 64 41 63 74 | 69 6f 6e 29 0d 09 09 09 |rwardAct|ion)....|
|00004840| 09 09 72 65 74 75 72 6e | 20 74 61 72 67 65 74 3b |..return| target;|
|00004850| 09 09 2f 2f 20 73 70 65 | 63 69 61 6c 20 68 61 6e |..// spe|cial han|
|00004860| 64 6c 69 6e 67 20 66 6f | 72 20 66 6f 72 77 61 72 |dling fo|r forwar|
|00004870| 64 20 6d 65 73 73 61 67 | 65 20 61 63 74 69 6f 6e |d messag|e action|
|00004880| 0d 09 09 09 09 62 65 68 | 61 76 69 6f 72 2d 3e 70 |.....beh|avior->p|
|00004890| 65 72 66 6f 72 6d 41 63 | 74 69 6f 6e 28 74 61 72 |erformAc|tion(tar|
|000048a0| 67 65 74 2c 20 64 61 74 | 61 29 3b 0d 09 09 09 09 |get, dat|a);.....|
|000048b0| 69 66 20 28 28 28 48 53 | 63 72 61 74 63 68 2a 29 |if (((HS|cratch*)|
|000048c0| 20 73 63 72 61 74 63 68 | 29 2d 3e 62 65 68 61 76 | scratch|)->behav|
|000048d0| 69 6f 72 46 72 65 65 64 | 29 0d 09 09 09 09 09 72 |iorFreed|)......r|
|000048e0| 65 74 75 72 6e 20 4e 55 | 4c 4c 3b 09 09 2f 2f 20 |eturn NU|LL;..// |
|000048f0| 74 68 65 20 62 65 68 61 | 76 69 6f 72 20 77 61 73 |the beha|vior was|
|00004900| 20 66 72 65 65 64 20 70 | 65 72 66 6f 72 6d 69 6e | freed p|erformin|
|00004910| 67 20 74 68 65 20 61 63 | 74 69 6f 6e 0d 09 09 09 |g the ac|tion....|
|00004920| 09 64 61 74 61 20 3d 20 | 28 68 61 6e 64 6c 65 72 |.data = |(handler|
|00004930| 44 61 74 61 2a 29 20 28 | 2a 28 62 65 68 61 76 69 |Data*) (|*(behavi|
|00004940| 6f 72 2d 3e 66 48 61 6e | 64 6c 65 72 44 61 74 61 |or->fHan|dlerData|
|00004950| 29 20 2b 20 28 28 48 53 | 63 72 61 74 63 68 2a 29 |) + ((HS|cratch*)|
|00004960| 20 73 63 72 61 74 63 68 | 29 2d 3e 64 61 74 61 4f | scratch|)->dataO|
|00004970| 66 66 73 65 74 29 3b 09 | 09 2f 2f 20 74 68 65 20 |ffset);.|.// the |
|00004980| 6f 62 6a 65 63 74 20 6d | 61 79 20 68 61 76 65 20 |object m|ay have |
|00004990| 6d 6f 76 65 64 0d 09 09 | 09 09 63 6f 6e 74 69 6e |moved...|..contin|
|000049a0| 75 65 3b 09 09 2f 2f 20 | 64 6f 20 74 68 65 20 6e |ue;..// |do the n|
|000049b0| 65 78 74 20 68 61 6e 64 | 6c 65 72 0d 09 09 09 7d |ext hand|ler....}|
|000049c0| 0d 09 09 7d 0d 0d 09 09 | 2f 2f 20 6e 6f 20 6d 61 |...}....|// no ma|
|000049d0| 74 63 68 20 66 6f 75 6e | 64 20 2d 20 67 6f 20 74 |tch foun|d - go t|
|000049e0| 6f 20 74 68 65 20 6e 65 | 78 74 20 68 61 6e 64 6c |o the ne|xt handl|
|000049f0| 65 72 0d 09 09 64 61 74 | 61 20 3d 20 28 68 61 6e |er...dat|a = (han|
|00004a00| 64 6c 65 72 44 61 74 61 | 2a 29 20 28 28 28 63 68 |dlerData|*) (((ch|
|00004a10| 61 72 2a 29 20 64 61 74 | 61 29 20 2b 20 68 61 6e |ar*) dat|a) + han|
|00004a20| 64 6c 65 72 53 69 7a 65 | 29 3b 0d 09 7d 0d 7d 0d |dlerSize|);..}.}.|
|00004a30| 0d 69 6e 6c 69 6e 65 20 | 54 57 69 6e 64 6f 77 2a |.inline |TWindow*|
|00004a40| 20 57 4d 67 72 54 6f 57 | 69 6e 64 6f 77 28 57 69 | WMgrToW|indow(Wi|
|00004a50| 6e 64 6f 77 50 74 72 20 | 77 4d 67 72 57 69 6e 64 |ndowPtr |wMgrWind|
|00004a60| 6f 77 29 0d 7b 0d 23 69 | 66 20 71 4d 61 63 41 70 |ow).{.#i|f qMacAp|
|00004a70| 70 56 65 72 73 69 6f 6e | 20 3c 3d 20 33 33 0d 09 |pVersion| <= 33..|
|00004a80| 72 65 74 75 72 6e 20 67 | 41 70 70 6c 69 63 61 74 |return g|Applicat|
|00004a90| 69 6f 6e 2d 3e 57 4d 67 | 72 54 6f 57 69 6e 64 6f |ion->WMg|rToWindo|
|00004aa0| 77 28 77 4d 67 72 57 69 | 6e 64 6f 77 29 3b 0d 23 |w(wMgrWi|ndow);.#|
|00004ab0| 65 6c 73 65 0d 09 72 65 | 74 75 72 6e 20 54 57 69 |else..re|turn TWi|
|00004ac0| 6e 64 6f 77 3a 3a 57 4d | 67 72 54 6f 57 69 6e 64 |ndow::WM|grToWind|
|00004ad0| 6f 77 28 77 4d 67 72 57 | 69 6e 64 6f 77 29 3b 0d |ow(wMgrW|indow);.|
|00004ae0| 23 65 6e 64 69 66 0d 7d | 0d 0d 2f 2f 09 47 65 74 |#endif.}|..//.Get|
|00004af0| 20 74 68 65 20 74 61 72 | 67 65 74 20 6f 62 6a 65 | the tar|get obje|
|00004b00| 63 74 2e 0d 2f 2f 0d 2f | 2f 09 64 61 74 61 3a 09 |ct..//./|/.data:.|
|00004b10| 09 09 74 68 65 20 68 61 | 6e 64 6c 65 72 20 64 61 |..the ha|ndler da|
|00004b20| 74 61 0d 2f 2f 0d 2f 2f | 09 52 45 54 55 52 4e 53 |ta.//.//|.RETURNS|
|00004b30| 3a 09 74 68 65 20 74 61 | 72 67 65 74 20 28 6f 72 |:.the ta|rget (or|
|00004b40| 20 4e 55 4c 4c 20 69 66 | 20 6e 6f 74 20 66 6f 75 | NULL if| not fou|
|00004b50| 6e 64 29 0d 2f 2f 0d 54 | 45 76 65 6e 74 48 61 6e |nd).//.T|EventHan|
|00004b60| 64 6c 65 72 2a 20 54 48 | 61 6e 64 6c 65 72 42 65 |dler* TH|andlerBe|
|00004b70| 68 61 76 69 6f 72 3a 3a | 67 65 74 54 61 72 67 65 |havior::|getTarge|
|00004b80| 74 28 76 6f 69 64 2a 20 | 64 61 74 61 29 0d 7b 0d |t(void* |data).{.|
|00004b90| 09 54 45 76 65 6e 74 48 | 61 6e 64 6c 65 72 2a 20 |.TEventH|andler* |
|00004ba0| 74 61 72 67 65 74 20 3d | 20 4e 55 4c 4c 3b 0d 09 |target =| NULL;..|
|00004bb0| 73 77 69 74 63 68 20 28 | 28 28 68 61 6e 64 6c 65 |switch (|((handle|
|00004bc0| 72 44 61 74 61 2a 29 20 | 64 61 74 61 29 2d 3e 74 |rData*) |data)->t|
|00004bd0| 61 72 67 65 74 29 0d 09 | 7b 0d 09 09 63 61 73 65 |arget)..|{...case|
|00004be0| 20 6b 41 70 70 6c 69 63 | 61 74 69 6f 6e 54 61 72 | kApplic|ationTar|
|00004bf0| 67 65 74 3a 09 09 74 61 | 72 67 65 74 20 3d 20 67 |get:..ta|rget = g|
|00004c00| 41 70 70 6c 69 63 61 74 | 69 6f 6e 3b 0d 09 09 09 |Applicat|ion;....|
|00004c10| 09 09 09 09 09 09 09 09 | 09 09 09 09 09 62 72 65 |........|.....bre|
|00004c20| 61 6b 3b 0d 09 09 63 61 | 73 65 20 6b 44 6f 63 75 |ak;...ca|se kDocu|
|00004c30| 6d 65 6e 74 54 61 72 67 | 65 74 3a 09 09 09 09 69 |mentTarg|et:....i|
|00004c40| 66 20 28 66 4f 77 6e 65 | 72 29 0d 09 09 09 09 09 |f (fOwne|r)......|
|00004c50| 09 09 09 09 09 09 09 09 | 09 09 09 7b 0d 23 69 66 |........|...{.#if|
|00004c60| 20 71 4d 61 63 41 70 70 | 56 65 72 73 69 6f 6e 20 | qMacApp|Version |
|00004c70| 3c 3d 20 33 33 0d 09 09 | 09 09 09 09 09 09 09 09 |<= 33...|........|
|00004c80| 09 09 09 09 09 09 09 74 | 61 72 67 65 74 20 3d 20 |.......t|arget = |
|00004c90| 28 28 54 56 69 65 77 2a | 29 20 66 4f 77 6e 65 72 |((TView*|) fOwner|
|00004ca0| 29 2d 3e 66 44 6f 63 75 | 6d 65 6e 74 3b 0d 23 65 |)->fDocu|ment;.#e|
|00004cb0| 6c 73 65 0d 09 09 09 09 | 09 09 09 09 09 09 09 09 |lse.....|........|
|00004cc0| 09 09 09 09 09 74 61 72 | 67 65 74 20 3d 20 28 28 |.....tar|get = ((|
|00004cd0| 54 56 69 65 77 2a 29 20 | 66 4f 77 6e 65 72 29 2d |TView*) |fOwner)-|
|00004ce0| 3e 47 65 74 44 6f 63 75 | 6d 65 6e 74 28 29 3b 0d |>GetDocu|ment();.|
|00004cf0| 23 65 6e 64 69 66 0d 09 | 09 09 09 09 09 09 09 09 |#endif..|........|
|00004d00| 09 09 09 09 09 09 09 09 | 69 66 20 28 21 74 61 72 |........|if (!tar|
|00004d10| 67 65 74 29 0d 09 09 09 | 09 09 09 09 09 09 09 09 |get)....|........|
|00004d20| 09 09 09 09 09 09 7b 20 | 2f 2f 20 74 72 79 20 74 |......{ |// try t|
|00004d30| 68 65 20 77 69 6e 64 6f | 77 0d 09 09 09 09 09 09 |he windo|w.......|
|00004d40| 09 09 09 09 09 09 09 09 | 09 09 09 09 54 57 69 6e |........|....TWin|
|00004d50| 64 6f 77 2a 20 77 69 6e | 64 6f 77 20 3d 20 28 28 |dow* win|dow = ((|
|00004d60| 54 56 69 65 77 2a 29 20 | 66 4f 77 6e 65 72 29 2d |TView*) |fOwner)-|
|00004d70| 3e 47 65 74 57 69 6e 64 | 6f 77 28 29 3b 0d 09 09 |>GetWind|ow();...|
|00004d80| 09 09 09 09 09 09 09 09 | 09 09 09 09 09 09 09 09 |........|........|
|00004d90| 69 66 20 28 77 69 6e 64 | 6f 77 29 0d 23 69 66 20 |if (wind|ow).#if |
|00004da0| 71 4d 61 63 41 70 70 56 | 65 72 73 69 6f 6e 20 3c |qMacAppV|ersion <|
|00004db0| 3d 20 33 33 0d 09 09 09 | 09 09 09 09 09 09 09 09 |= 33....|........|
|00004dc0| 09 09 09 09 09 09 09 74 | 61 72 67 65 74 20 3d 20 |.......t|arget = |
|00004dd0| 77 69 6e 64 6f 77 2d 3e | 66 44 6f 63 75 6d 65 6e |window->|fDocumen|
|00004de0| 74 3b 0d 23 65 6c 73 65 | 0d 09 09 09 09 09 09 09 |t;.#else|........|
|00004df0| 09 09 09 09 09 09 09 09 | 09 09 09 74 61 72 67 65 |........|...targe|
|00004e00| 74 20 3d 20 77 69 6e 64 | 6f 77 2d 3e 47 65 74 44 |t = wind|ow->GetD|
|00004e10| 6f 63 75 6d 65 6e 74 28 | 29 3b 0d 23 65 6e 64 69 |ocument(|);.#endi|
|00004e20| 66 0d 09 09 09 09 09 09 | 09 09 09 09 09 09 09 09 |f.......|........|
|00004e30| 09 09 09 7d 0d 09 09 09 | 09 09 09 09 09 09 09 09 |...}....|........|
|00004e40| 09 09 09 09 09 7d 0d 09 | 09 09 09 09 09 09 09 09 |.....}..|........|
|00004e50| 09 09 09 09 09 09 09 62 | 72 65 61 6b 3b 0d 09 09 |.......b|reak;...|
|00004e60| 63 61 73 65 20 6b 53 65 | 6c 66 54 61 72 67 65 74 |case kSe|lfTarget|
|00004e70| 3a 09 09 09 09 09 09 74 | 61 72 67 65 74 20 3d 20 |:......t|arget = |
|00004e80| 66 4f 77 6e 65 72 3b 0d | 09 09 09 09 09 09 09 09 |fOwner;.|........|
|00004e90| 09 09 09 09 09 09 09 09 | 62 72 65 61 6b 3b 0d 09 |........|break;..|
|00004ea0| 09 63 61 73 65 20 6b 53 | 75 62 76 69 65 77 54 61 |.case kS|ubviewTa|
|00004eb0| 72 67 65 74 3a 09 09 09 | 09 69 66 20 28 66 4f 77 |rget:...|.if (fOw|
|00004ec0| 6e 65 72 29 0d 09 09 09 | 09 09 09 09 09 09 09 09 |ner)....|........|
|00004ed0| 09 09 09 09 09 09 74 61 | 72 67 65 74 20 3d 20 28 |......ta|rget = (|
|00004ee0| 28 54 56 69 65 77 2a 29 | 20 66 4f 77 6e 65 72 29 |(TView*)| fOwner)|
|00004ef0| 2d 3e 46 69 6e 64 53 75 | 62 56 69 65 77 28 28 28 |->FindSu|bView(((|
|00004f00| 68 61 6e 64 6c 65 72 44 | 61 74 61 2a 29 20 64 61 |handlerD|ata*) da|
|00004f10| 74 61 29 2d 3e 74 61 72 | 67 65 74 50 61 72 61 6d |ta)->tar|getParam|
|00004f20| 31 29 3b 0d 09 09 09 09 | 09 09 09 09 09 09 09 09 |1);.....|........|
|00004f30| 09 09 09 09 62 72 65 61 | 6b 3b 0d 09 09 63 61 73 |....brea|k;...cas|
|00004f40| 65 20 6b 53 75 70 65 72 | 76 69 65 77 54 61 72 67 |e kSuper|viewTarg|
|00004f50| 65 74 3a 09 09 09 69 66 | 20 28 66 4f 77 6e 65 72 |et:...if| (fOwner|
|00004f60| 29 0d 23 69 66 20 71 4d | 61 63 41 70 70 56 65 72 |).#if qM|acAppVer|
|00004f70| 73 69 6f 6e 20 3c 3d 20 | 33 33 0d 09 09 09 09 09 |sion <= |33......|
|00004f80| 09 09 09 09 09 09 09 09 | 09 09 09 09 74 61 72 67 |........|....targ|
|00004f90| 65 74 20 3d 20 28 28 54 | 56 69 65 77 2a 29 20 66 |et = ((T|View*) f|
|00004fa0| 4f 77 6e 65 72 29 2d 3e | 66 53 75 70 65 72 56 69 |Owner)->|fSuperVi|
|00004fb0| 65 77 3b 0d 23 65 6c 73 | 65 0d 09 09 09 09 09 09 |ew;.#els|e.......|
|00004fc0| 09 09 09 09 09 09 09 09 | 09 09 09 74 61 72 67 65 |........|...targe|
|00004fd0| 74 20 3d 20 28 28 54 56 | 69 65 77 2a 29 20 66 4f |t = ((TV|iew*) fO|
|00004fe0| 77 6e 65 72 29 2d 3e 47 | 65 74 53 75 70 65 72 56 |wner)->G|etSuperV|
|00004ff0| 69 65 77 28 29 3b 0d 23 | 65 6e 64 69 66 0d 09 09 |iew();.#|endif...|
|00005000| 09 09 09 09 09 09 09 09 | 09 09 09 09 09 09 62 72 |........|......br|
|00005010| 65 61 6b 3b 0d 09 09 63 | 61 73 65 20 6b 54 61 72 |eak;...c|ase kTar|
|00005020| 67 65 74 43 68 61 69 6e | 54 61 72 67 65 74 3a 09 |getChain|Target:.|
|00005030| 09 74 61 72 67 65 74 20 | 3d 20 67 41 70 70 6c 69 |.target |= gAppli|
|00005040| 63 61 74 69 6f 6e 2d 3e | 47 65 74 54 61 72 67 65 |cation->|GetTarge|
|00005050| 74 28 29 3b 0d 09 09 09 | 09 09 09 09 09 09 09 09 |t();....|........|
|00005060| 09 09 09 09 09 62 72 65 | 61 6b 3b 0d 09 09 63 61 |.....bre|ak;...ca|
|00005070| 73 65 20 6b 56 69 65 77 | 54 61 72 67 65 74 3a 09 |se kView|Target:.|
|00005080| 09 09 09 09 09 69 66 20 | 28 66 4f 77 6e 65 72 29 |.....if |(fOwner)|
|00005090| 0d 09 09 09 09 09 09 09 | 09 09 09 09 09 09 09 09 |........|........|
|000050a0| 09 7b 0d 09 09 09 09 09 | 09 09 09 09 09 09 09 09 |.{......|........|
|000050b0| 09 09 09 09 54 57 69 6e | 64 6f 77 2a 20 77 69 6e |....TWin|dow* win|
|000050c0| 64 6f 77 20 3d 20 28 28 | 54 56 69 65 77 2a 29 20 |dow = ((|TView*) |
|000050d0| 66 4f 77 6e 65 72 29 2d | 3e 47 65 74 57 69 6e 64 |fOwner)-|>GetWind|
|000050e0| 6f 77 28 29 3b 0d 09 09 | 09 09 09 09 09 09 09 09 |ow();...|........|
|000050f0| 09 09 09 09 09 09 09 69 | 66 20 28 77 69 6e 64 6f |.......i|f (windo|
|00005100| 77 29 0d 09 09 09 09 09 | 09 09 09 09 09 09 09 09 |w)......|........|
|00005110| 09 09 09 09 09 74 61 72 | 67 65 74 20 3d 20 77 69 |.....tar|get = wi|
|00005120| 6e 64 6f 77 2d 3e 46 69 | 6e 64 53 75 62 56 69 65 |ndow->Fi|ndSubVie|
|00005130| 77 28 28 28 68 61 6e 64 | 6c 65 72 44 61 74 61 2a |w(((hand|lerData*|
|00005140| 29 20 64 61 74 61 29 2d | 3e 74 61 72 67 65 74 50 |) data)-|>targetP|
|00005150| 61 72 61 6d 31 29 3b 0d | 09 09 09 09 09 09 09 09 |aram1);.|........|
|00005160| 09 09 09 09 09 09 09 09 | 7d 0d 09 09 09 09 09 09 |........|}.......|
|00005170| 09 09 09 09 09 09 09 09 | 09 09 62 72 65 61 6b 3b |........|..break;|
|00005180| 0d 09 09 63 61 73 65 20 | 6b 56 69 65 77 57 69 6e |...case |kViewWin|
|00005190| 64 6f 77 54 61 72 67 65 | 74 3a 09 09 09 7b 0d 09 |dowTarge|t:...{..|
|000051a0| 09 09 09 09 09 09 09 09 | 09 09 09 09 09 09 09 09 |........|........|
|000051b0| 43 57 4d 67 72 49 74 65 | 72 61 74 6f 72 20 69 74 |CWMgrIte|rator it|
|000051c0| 65 72 3b 0d 09 09 09 09 | 09 09 09 09 09 09 09 09 |er;.....|........|
|000051d0| 09 09 09 09 09 66 6f 72 | 20 28 57 69 6e 64 6f 77 |.....for| (Window|
|000051e0| 50 74 72 20 77 6e 64 77 | 50 74 72 20 3d 20 69 74 |Ptr wndw|Ptr = it|
|000051f0| 65 72 2e 46 69 72 73 74 | 57 4d 67 72 57 69 6e 64 |er.First|WMgrWind|
|00005200| 6f 77 28 29 3b 20 69 74 | 65 72 2e 49 54 45 52 43 |ow(); it|er.ITERC|
|00005210| 55 52 52 45 4e 54 28 29 | 3b 20 77 6e 64 77 50 74 |URRENT()|; wndwPt|
|00005220| 72 20 3d 20 69 74 65 72 | 2e 4e 65 78 74 57 4d 67 |r = iter|.NextWMg|
|00005230| 72 57 69 6e 64 6f 77 28 | 29 29 0d 09 09 09 09 09 |rWindow(|))......|
|00005240| 09 09 09 09 09 09 09 09 | 09 09 09 09 7b 20 2f 2f |........|....{ //|
|00005250| 20 66 69 6e 64 20 61 20 | 22 73 68 6f 77 6e 22 20 | find a |"shown" |
|00005260| 77 69 6e 64 6f 77 20 77 | 69 74 68 20 74 68 65 20 |window w|ith the |
|00005270| 72 69 67 68 74 20 49 44 | 0d 09 09 09 09 09 09 09 |right ID|........|
|00005280| 09 09 09 09 09 09 09 09 | 09 09 09 54 57 69 6e 64 |........|...TWind|
|00005290| 6f 77 2a 20 77 69 6e 64 | 6f 77 20 3d 20 57 4d 67 |ow* wind|ow = WMg|
|000052a0| 72 54 6f 57 69 6e 64 6f | 77 28 77 6e 64 77 50 74 |rToWindo|w(wndwPt|
|000052b0| 72 29 3b 0d 09 09 09 09 | 09 09 09 09 09 09 09 09 |r);.....|........|
|000052c0| 09 09 09 09 09 09 69 66 | 20 28 77 69 6e 64 6f 77 |......if| (window|
|000052d0| 20 26 26 20 77 69 6e 64 | 6f 77 2d 3e 49 73 53 68 | && wind|ow->IsSh|
|000052e0| 6f 77 6e 28 29 20 26 26 | 20 77 69 6e 64 6f 77 2d |own() &&| window-|
|000052f0| 3e 47 65 74 49 64 65 6e | 74 69 66 69 65 72 28 29 |>GetIden|tifier()|
|00005300| 20 3d 3d 20 28 28 68 61 | 6e 64 6c 65 72 44 61 74 | == ((ha|ndlerDat|
|00005310| 61 2a 29 20 64 61 74 61 | 29 2d 3e 74 61 72 67 65 |a*) data|)->targe|
|00005320| 74 50 61 72 61 6d 32 29 | 0d 09 09 09 09 09 09 09 |tParam2)|........|
|00005330| 09 09 09 09 09 09 09 09 | 09 09 09 7b 0d 09 09 09 |........|...{....|
|00005340| 09 09 09 09 09 09 09 09 | 09 09 09 09 09 09 09 09 |........|........|
|00005350| 74 61 72 67 65 74 20 3d | 20 77 69 6e 64 6f 77 2d |target =| window-|
|00005360| 3e 46 69 6e 64 53 75 62 | 56 69 65 77 28 28 28 68 |>FindSub|View(((h|
|00005370| 61 6e 64 6c 65 72 44 61 | 74 61 2a 29 20 64 61 74 |andlerDa|ta*) dat|
|00005380| 61 29 2d 3e 74 61 72 67 | 65 74 50 61 72 61 6d 31 |a)->targ|etParam1|
|00005390| 29 3b 0d 09 09 09 09 09 | 09 09 09 09 09 09 09 09 |);......|........|
|000053a0| 09 09 09 09 09 09 62 72 | 65 61 6b 3b 0d 09 09 09 |......br|eak;....|
|000053b0| 09 09 09 09 09 09 09 09 | 09 09 09 09 09 09 09 7d |........|.......}|
|000053c0| 0d 09 09 09 09 09 09 09 | 09 09 09 09 09 09 09 09 |........|........|
|000053d0| 09 09 7d 0d 09 09 09 09 | 09 09 09 09 09 09 09 09 |..}.....|........|
|000053e0| 09 09 09 09 7d 0d 09 09 | 09 09 09 09 09 09 09 09 |....}...|........|
|000053f0| 09 09 09 09 09 09 62 72 | 65 61 6b 3b 0d 09 09 63 |......br|eak;...c|
|00005400| 61 73 65 20 6b 57 69 6e | 64 6f 77 54 61 72 67 65 |ase kWin|dowTarge|
|00005410| 74 3a 09 09 09 09 09 69 | 66 20 28 66 4f 77 6e 65 |t:.....i|f (fOwne|
|00005420| 72 29 0d 09 09 09 09 09 | 09 09 09 09 09 09 09 09 |r)......|........|
|00005430| 09 09 09 09 74 61 72 67 | 65 74 20 3d 20 28 28 54 |....targ|et = ((T|
|00005440| 56 69 65 77 2a 29 20 66 | 4f 77 6e 65 72 29 2d 3e |View*) f|Owner)->|
|00005450| 47 65 74 57 69 6e 64 6f | 77 28 29 3b 0d 09 09 09 |GetWindo|w();....|
|00005460| 09 09 09 09 09 09 09 09 | 09 09 09 09 09 62 72 65 |........|.....bre|
|00005470| 61 6b 3b 0d 09 09 63 61 | 73 65 20 6b 57 69 6e 64 |ak;...ca|se kWind|
|00005480| 6f 77 49 44 54 61 72 67 | 65 74 3a 09 09 09 09 7b |owIDTarg|et:....{|
|00005490| 0d 09 09 09 09 09 09 09 | 09 09 09 09 09 09 09 09 |........|........|
|000054a0| 09 09 43 57 4d 67 72 49 | 74 65 72 61 74 6f 72 20 |..CWMgrI|terator |
|000054b0| 69 74 65 72 3b 0d 09 09 | 09 09 09 09 09 09 09 09 |iter;...|........|
|000054c0| 09 09 09 09 09 09 09 66 | 6f 72 20 28 57 69 6e 64 |.......f|or (Wind|
|000054d0| 6f 77 50 74 72 20 77 6e | 64 77 50 74 72 20 3d 20 |owPtr wn|dwPtr = |
|000054e0| 69 74 65 72 2e 46 69 72 | 73 74 57 4d 67 72 57 69 |iter.Fir|stWMgrWi|
|000054f0| 6e 64 6f 77 28 29 3b 20 | 69 74 65 72 2e 49 54 45 |ndow(); |iter.ITE|
|00005500| 52 43 55 52 52 45 4e 54 | 28 29 3b 20 77 6e 64 77 |RCURRENT|(); wndw|
|00005510| 50 74 72 20 3d 20 69 74 | 65 72 2e 4e 65 78 74 57 |Ptr = it|er.NextW|
|00005520| 4d 67 72 57 69 6e 64 6f | 77 28 29 29 0d 09 09 09 |MgrWindo|w())....|
|00005530| 09 09 09 09 09 09 09 09 | 09 09 09 09 09 09 7b 20 |........|......{ |
|00005540| 2f 2f 20 66 69 6e 64 20 | 61 20 22 73 68 6f 77 6e |// find |a "shown|
|00005550| 22 20 77 69 6e 64 6f 77 | 20 77 69 74 68 20 74 68 |" window| with th|
|00005560| 65 20 72 69 67 68 74 20 | 49 44 0d 09 09 09 09 09 |e right |ID......|
|00005570| 09 09 09 09 09 09 09 09 | 09 09 09 09 09 54 57 69 |........|.....TWi|
|00005580| 6e 64 6f 77 2a 20 77 69 | 6e 64 6f 77 20 3d 20 57 |ndow* wi|ndow = W|
|00005590| 4d 67 72 54 6f 57 69 6e | 64 6f 77 28 77 6e 64 77 |MgrToWin|dow(wndw|
|000055a0| 50 74 72 29 3b 0d 09 09 | 09 09 09 09 09 09 09 09 |Ptr);...|........|
|000055b0| 09 09 09 09 09 09 09 09 | 69 66 20 28 77 69 6e 64 |........|if (wind|
|000055c0| 6f 77 20 26 26 20 77 69 | 6e 64 6f 77 2d 3e 49 73 |ow && wi|ndow->Is|
|000055d0| 53 68 6f 77 6e 28 29 20 | 26 26 20 77 69 6e 64 6f |Shown() |&& windo|
|000055e0| 77 2d 3e 47 65 74 49 64 | 65 6e 74 69 66 69 65 72 |w->GetId|entifier|
|000055f0| 28 29 20 3d 3d 20 28 28 | 68 61 6e 64 6c 65 72 44 |() == ((|handlerD|
|00005600| 61 74 61 2a 29 20 64 61 | 74 61 29 2d 3e 74 61 72 |ata*) da|ta)->tar|
|00005610| 67 65 74 50 61 72 61 6d | 31 29 0d 09 09 09 09 09 |getParam|1)......|
|00005620| 09 09 09 09 09 09 09 09 | 09 09 09 09 09 7b 0d 09 |........|.....{..|
|00005630| 09 09 09 09 09 09 09 09 | 09 09 09 09 09 09 09 09 |........|........|
|00005640| 09 09 74 61 72 67 65 74 | 20 3d 20 28 54 45 76 65 |..target| = (TEve|
|00005650| 6e 74 48 61 6e 64 6c 65 | 72 2a 29 20 77 69 6e 64 |ntHandle|r*) wind|
|00005660| 6f 77 3b 0d 09 09 09 09 | 09 09 09 09 09 09 09 09 |ow;.....|........|
|00005670| 09 09 09 09 09 09 09 62 | 72 65 61 6b 3b 0d 09 09 |.......b|reak;...|
|00005680| 09 09 09 09 09 09 09 09 | 09 09 09 09 09 09 09 09 |........|........|
|00005690| 7d 0d 09 09 09 09 09 09 | 09 09 09 09 09 09 09 09 |}.......|........|
|000056a0| 09 09 09 7d 0d 09 09 09 | 09 09 09 09 09 09 09 09 |...}....|........|
|000056b0| 09 09 09 09 09 7d 0d 09 | 09 09 09 09 09 09 09 09 |.....}..|........|
|000056c0| 09 09 09 09 09 09 09 62 | 72 65 61 6b 3b 0d 09 7d |.......b|reak;..}|
|000056d0| 0d 09 72 65 74 75 72 6e | 20 74 61 72 67 65 74 3b |..return| target;|
|000056e0| 0d 7d 0d 0d 0d 2f 2f 09 | 50 65 72 66 6f 72 6d 20 |.}...//.|Perform |
|000056f0| 74 68 65 20 64 65 73 69 | 72 65 64 20 61 63 74 69 |the desi|red acti|
|00005700| 6f 6e 20 6f 6e 20 61 6e | 20 6f 62 6a 65 63 74 2e |on on an| object.|
|00005710| 0d 2f 2f 0d 2f 2f 09 74 | 61 72 67 65 74 3a 09 09 |.//.//.t|arget:..|
|00005720| 74 68 65 20 74 61 72 67 | 65 74 20 6f 62 6a 65 63 |the targ|et objec|
|00005730| 74 0d 2f 2f 09 64 61 74 | 61 3a 09 09 09 74 68 65 |t.//.dat|a:...the|
|00005740| 20 68 61 6e 64 6c 65 72 | 20 64 61 74 61 0d 2f 2f | handler| data.//|
|00005750| 0d 76 6f 69 64 20 54 48 | 61 6e 64 6c 65 72 42 65 |.void TH|andlerBe|
|00005760| 68 61 76 69 6f 72 3a 3a | 70 65 72 66 6f 72 6d 41 |havior::|performA|
|00005770| 63 74 69 6f 6e 28 54 45 | 76 65 6e 74 48 61 6e 64 |ction(TE|ventHand|
|00005780| 6c 65 72 2a 20 74 61 72 | 67 65 74 2c 20 76 6f 69 |ler* tar|get, voi|
|00005790| 64 2a 20 64 61 74 61 29 | 0d 7b 0d 09 73 77 69 74 |d* data)|.{..swit|
|000057a0| 63 68 20 28 28 28 68 61 | 6e 64 6c 65 72 44 61 74 |ch (((ha|ndlerDat|
|000057b0| 61 2a 29 20 64 61 74 61 | 29 2d 3e 61 63 74 69 6f |a*) data|)->actio|
|000057c0| 6e 29 0d 09 7b 0d 0d 09 | 09 63 61 73 65 20 6b 43 |n)..{...|.case kC|
|000057d0| 6c 6f 73 65 41 63 74 69 | 6f 6e 3a 09 09 09 09 0d |loseActi|on:.....|
|000057e0| 0d 23 69 66 64 65 66 20 | 48 41 4e 44 4c 45 5f 42 |.#ifdef |HANDLE_B|
|000057f0| 41 53 45 44 5f 4f 42 4a | 45 43 54 53 0d 09 09 09 |ASED_OBJ|ECTS....|
|00005800| 09 09 09 09 09 09 09 09 | 09 09 09 09 69 66 20 28 |........|....if (|
|00005810| 71 44 65 62 75 67 20 26 | 26 20 21 49 73 4d 65 6d |qDebug &|& !IsMem|
|00005820| 62 65 72 43 6c 61 73 73 | 49 44 28 74 61 72 67 65 |berClass|ID(targe|
|00005830| 74 2c 20 47 65 74 43 6c | 61 73 73 49 44 46 72 6f |t, GetCl|assIDFro|
|00005840| 6d 53 69 67 6e 61 74 75 | 72 65 28 6b 53 74 64 56 |mSignatu|re(kStdV|
|00005850| 69 65 77 29 29 29 0d 23 | 65 6c 73 65 0d 09 09 09 |iew))).#|else....|
|00005860| 09 09 09 09 09 09 09 09 | 09 09 09 09 69 66 20 28 |........|....if (|
|00005870| 71 44 65 62 75 67 20 26 | 26 20 21 4d 41 5f 4d 45 |qDebug &|& !MA_ME|
|00005880| 4d 42 45 52 28 74 61 72 | 67 65 74 2c 20 54 56 69 |MBER(tar|get, TVi|
|00005890| 65 77 29 29 0d 23 65 6e | 64 69 66 0d 09 09 09 09 |ew)).#en|dif.....|
|000058a0| 09 09 09 09 09 09 09 09 | 09 09 09 09 50 52 4f 47 |........|....PROG|
|000058b0| 52 41 4d 42 52 45 41 4b | 28 22 49 6e 20 54 48 61 |RAMBREAK|("In THa|
|000058c0| 6e 64 6c 65 72 42 65 68 | 61 76 69 6f 72 3a 20 61 |ndlerBeh|avior: a|
|000058d0| 74 74 65 6d 70 74 20 74 | 6f 20 63 6c 6f 73 65 20 |ttempt t|o close |
|000058e0| 6e 6f 6e 20 54 56 69 65 | 77 20 6f 62 6a 65 63 74 |non TVie|w object|
|000058f0| 22 29 3b 0d 09 09 09 09 | 09 09 09 09 09 09 09 09 |");.....|........|
|00005900| 09 09 09 28 28 54 56 69 | 65 77 2a 29 20 74 61 72 |...((TVi|ew*) tar|
|00005910| 67 65 74 29 2d 3e 43 6c | 6f 73 65 28 29 3b 0d 09 |get)->Cl|ose();..|
|00005920| 09 09 09 09 09 09 09 09 | 09 09 09 09 09 09 62 72 |........|......br|
|00005930| 65 61 6b 3b 0d 0d 09 09 | 63 61 73 65 20 6b 43 6c |eak;....|case kCl|
|00005940| 6f 73 65 41 6e 64 46 72 | 65 65 41 63 74 69 6f 6e |oseAndFr|eeAction|
|00005950| 3a 0d 0d 23 69 66 64 65 | 66 20 48 41 4e 44 4c 45 |:..#ifde|f HANDLE|
|00005960| 5f 42 41 53 45 44 5f 4f | 42 4a 45 43 54 53 0d 09 |_BASED_O|BJECTS..|
|00005970| 09 09 09 09 09 09 09 09 | 09 09 09 09 09 09 69 66 |........|......if|
|00005980| 20 28 49 73 4d 65 6d 62 | 65 72 43 6c 61 73 73 49 | (IsMemb|erClassI|
|00005990| 44 28 74 61 72 67 65 74 | 2c 20 47 65 74 43 6c 61 |D(target|, GetCla|
|000059a0| 73 73 49 44 46 72 6f 6d | 53 69 67 6e 61 74 75 72 |ssIDFrom|Signatur|
|000059b0| 65 28 6b 53 74 64 57 69 | 6e 64 6f 77 29 29 29 0d |e(kStdWi|ndow))).|
|000059c0| 09 09 09 09 09 09 09 09 | 09 09 09 09 09 09 09 09 |........|........|
|000059d0| 28 28 54 57 69 6e 64 6f | 77 2a 29 20 74 61 72 67 |((TWindo|w*) targ|
|000059e0| 65 74 29 2d 3e 43 6c 6f | 73 65 41 6e 64 46 72 65 |et)->Clo|seAndFre|
|000059f0| 65 28 29 3b 0d 09 09 09 | 09 09 09 09 09 09 09 09 |e();....|........|
|00005a00| 09 09 09 09 65 6c 73 65 | 0d 09 09 09 09 09 09 09 |....else|........|
|00005a10| 09 09 09 09 09 09 09 09 | 09 69 66 20 28 71 44 65 |........|.if (qDe|
|00005a20| 62 75 67 20 26 26 20 21 | 49 73 4d 65 6d 62 65 72 |bug && !|IsMember|
|00005a30| 43 6c 61 73 73 49 44 28 | 74 61 72 67 65 74 2c 20 |ClassID(|target, |
|00005a40| 47 65 74 43 6c 61 73 73 | 49 44 46 72 6f 6d 4e 61 |GetClass|IDFromNa|
|00005a50| 6d 65 28 22 54 44 6f 63 | 75 6d 65 6e 74 22 29 29 |me("TDoc|ument"))|
|00005a60| 29 0d 23 65 6c 73 65 0d | 09 09 09 09 09 09 09 09 |).#else.|........|
|00005a70| 09 09 09 09 09 09 09 69 | 66 20 28 4d 41 5f 4d 45 |.......i|f (MA_ME|
|00005a80| 4d 42 45 52 28 74 61 72 | 67 65 74 2c 20 54 57 69 |MBER(tar|get, TWi|
|00005a90| 6e 64 6f 77 29 29 0d 09 | 09 09 09 09 09 09 09 09 |ndow))..|........|
|00005aa0| 09 09 09 09 09 09 7b 09 | 2f 2f 20 52 65 70 6c 61 |......{.|// Repla|
|00005ab0| 63 65 20 64 65 70 72 65 | 63 61 74 65 64 20 43 6c |ce depre|cated Cl|
|00005ac0| 6f 73 65 41 6e 64 46 72 | 65 65 20 6d 65 74 68 6f |oseAndFr|ee metho|
|00005ad0| 64 0d 09 09 09 09 09 09 | 09 09 09 09 09 09 09 09 |d.......|........|
|00005ae0| 09 09 2f 2f 28 28 54 57 | 69 6e 64 6f 77 2a 29 20 |..//((TW|indow*) |
|00005af0| 74 61 72 67 65 74 29 2d | 3e 43 6c 6f 73 65 41 6e |target)-|>CloseAn|
|00005b00| 64 46 72 65 65 28 29 3b | 0d 09 09 09 09 09 09 09 |dFree();|........|
|00005b10| 09 09 09 09 09 09 09 09 | 09 54 57 69 6e 64 6f 77 |........|.TWindow|
|00005b20| 2a 20 74 61 72 67 65 74 | 57 69 6e 64 6f 77 20 3d |* target|Window =|
|00005b30| 20 28 54 57 69 6e 64 6f | 77 2a 29 20 74 61 72 67 | (TWindo|w*) targ|
|00005b40| 65 74 3b 0d 09 09 09 09 | 09 09 09 09 09 09 09 09 |et;.....|........|
|00005b50| 09 09 09 09 74 61 72 67 | 65 74 57 69 6e 64 6f 77 |....targ|etWindow|
|00005b60| 2d 3e 43 6c 6f 73 65 28 | 29 3b 0d 09 09 09 09 09 |->Close(|);......|
|00005b70| 09 09 09 09 09 09 09 09 | 09 09 09 64 65 6c 65 74 |........|...delet|
|00005b80| 65 20 74 61 72 67 65 74 | 57 69 6e 64 6f 77 3b 0d |e target|Window;.|
|00005b90| 09 09 09 09 09 09 09 09 | 09 09 09 09 09 09 09 7d |........|.......}|
|00005ba0| 0d 09 09 09 09 09 09 09 | 09 09 09 09 09 09 09 09 |........|........|
|00005bb0| 65 6c 73 65 0d 09 09 09 | 09 09 09 09 09 09 09 09 |else....|........|
|00005bc0| 09 09 09 09 09 69 66 20 | 28 71 44 65 62 75 67 20 |.....if |(qDebug |
|00005bd0| 26 26 20 4d 41 5f 4d 45 | 4d 42 45 52 28 74 61 72 |&& MA_ME|MBER(tar|
|00005be0| 67 65 74 2c 20 54 44 6f | 63 75 6d 65 6e 74 29 29 |get, TDo|cument))|
|00005bf0| 0d 23 65 6e 64 69 66 0d | 09 09 09 09 09 09 09 09 |.#endif.|........|
|00005c00| 09 09 09 09 09 09 09 09 | 09 50 52 4f 47 52 41 4d |........|.PROGRAM|
|00005c10| 42 52 45 41 4b 28 22 49 | 6e 20 54 48 61 6e 64 6c |BREAK("I|n THandl|
|00005c20| 65 72 42 65 68 61 76 69 | 6f 72 3a 20 43 6c 6f 73 |erBehavi|or: Clos|
|00005c30| 65 41 6e 64 46 72 65 65 | 20 6e 65 65 64 73 20 61 |eAndFree| needs a|
|00005c40| 20 77 69 6e 64 6f 77 20 | 6f 72 20 61 20 64 6f 63 | window |or a doc|
|00005c50| 75 6d 65 6e 74 22 29 3b | 0d 09 09 09 09 09 09 09 |ument");|........|
|00005c60| 09 09 09 09 09 09 09 09 | 09 65 6c 73 65 0d 09 09 |........|.else...|
|00005c70| 09 09 09 09 09 09 09 09 | 09 09 09 09 09 09 7b 09 |........|......{.|
|00005c80| 2f 2f 20 52 65 70 6c 61 | 63 65 20 64 65 70 72 65 |// Repla|ce depre|
|00005c90| 63 61 74 65 64 20 43 6c | 6f 73 65 41 6e 64 46 72 |cated Cl|oseAndFr|
|00005ca0| 65 65 20 6d 65 74 68 6f | 64 0d 09 09 09 09 09 09 |ee metho|d.......|
|00005cb0| 09 09 09 09 09 09 09 09 | 09 09 09 2f 2f 28 28 54 |........|...//((T|
|00005cc0| 44 6f 63 75 6d 65 6e 74 | 2a 29 20 74 61 72 67 65 |Document|*) targe|
|00005cd0| 74 29 2d 3e 43 6c 6f 73 | 65 41 6e 64 46 72 65 65 |t)->Clos|eAndFree|
|00005ce0| 28 29 3b 0d 09 09 09 09 | 09 09 09 09 09 09 09 09 |();.....|........|
|00005cf0| 09 09 09 09 09 54 44 6f | 63 75 6d 65 6e 74 2a 20 |.....TDo|cument* |
|00005d00| 74 61 72 67 65 74 44 6f | 63 20 3d 20 28 54 44 6f |targetDo|c = (TDo|
|00005d10| 63 75 6d 65 6e 74 2a 29 | 20 74 61 72 67 65 74 3b |cument*)| target;|
|00005d20| 0d 09 09 09 09 09 09 09 | 09 09 09 09 09 09 09 09 |........|........|
|00005d30| 09 09 74 61 72 67 65 74 | 44 6f 63 2d 3e 43 6c 6f |..target|Doc->Clo|
|00005d40| 73 65 28 29 3b 0d 09 09 | 09 09 09 09 09 09 09 09 |se();...|........|
|00005d50| 09 09 09 09 09 09 09 64 | 65 6c 65 74 65 20 74 61 |.......d|elete ta|
|00005d60| 72 67 65 74 44 6f 63 3b | 0d 09 09 09 09 09 09 09 |rgetDoc;|........|
|00005d70| 09 09 09 09 09 09 09 09 | 09 7d 0d 09 09 09 09 09 |........|.}......|
|00005d80| 09 09 09 09 09 09 09 09 | 09 09 62 72 65 61 6b 3b |........|..break;|
|00005d90| 0d 0d 09 09 63 61 73 65 | 20 6b 45 6e 61 62 6c 65 |....case| kEnable|
|00005da0| 4d 65 6e 75 41 63 74 69 | 6f 6e 3a 09 09 45 6e 61 |MenuActi|on:..Ena|
|00005db0| 62 6c 65 28 28 28 68 61 | 6e 64 6c 65 72 44 61 74 |ble(((ha|ndlerDat|
|00005dc0| 61 2a 29 20 64 61 74 61 | 29 2d 3e 61 63 74 69 6f |a*) data|)->actio|
|00005dd0| 6e 50 61 72 61 6d 2c 20 | 54 52 55 45 29 3b 0d 09 |nParam, |TRUE);..|
|00005de0| 09 09 09 09 09 09 09 09 | 09 09 09 09 09 09 62 72 |........|......br|
|00005df0| 65 61 6b 3b 0d 0d 09 09 | 63 61 73 65 20 6b 4f 70 |eak;....|case kOp|
|00005e00| 65 6e 57 69 6e 64 6f 77 | 41 63 74 69 6f 6e 3a 09 |enWindow|Action:.|
|00005e10| 09 74 61 72 67 65 74 20 | 3d 20 28 54 45 76 65 6e |.target |= (TEven|
|00005e20| 74 48 61 6e 64 6c 65 72 | 2a 29 20 67 56 69 65 77 |tHandler|*) gView|
|00005e30| 53 65 72 76 65 72 2d 3e | 4e 65 77 54 65 6d 70 6c |Server->|NewTempl|
|00005e40| 61 74 65 57 69 6e 64 6f | 77 28 28 73 68 6f 72 74 |ateWindo|w((short|
|00005e50| 29 20 28 28 68 61 6e 64 | 6c 65 72 44 61 74 61 2a |) ((hand|lerData*|
|00005e60| 29 20 64 61 74 61 29 2d | 3e 61 63 74 69 6f 6e 50 |) data)-|>actionP|
|00005e70| 61 72 61 6d 2c 20 4e 55 | 4c 4c 29 3b 0d 09 09 09 |aram, NU|LL);....|
|00005e80| 09 09 09 09 09 09 09 09 | 09 09 09 09 54 48 52 4f |........|....THRO|
|00005e90| 57 49 46 4e 55 4c 4c 28 | 74 61 72 67 65 74 29 3b |WIFNULL(|target);|
|00005ea0| 0d 09 09 09 09 09 09 09 | 09 09 09 09 09 09 09 09 |........|........|
|00005eb0| 28 28 54 57 69 6e 64 6f | 77 2a 29 20 74 61 72 67 |((TWindo|w*) targ|
|00005ec0| 65 74 29 2d 3e 4f 70 65 | 6e 28 29 3b 0d 09 09 09 |et)->Ope|n();....|
|00005ed0| 09 09 09 09 09 09 09 09 | 09 09 09 09 62 72 65 61 |........|....brea|
|00005ee0| 6b 3b 0d 0d 09 09 63 61 | 73 65 20 6b 50 6f 73 65 |k;....ca|se kPose|
|00005ef0| 4d 6f 64 61 6c 41 63 74 | 69 6f 6e 3a 09 09 54 48 |ModalAct|ion:..TH|
|00005f00| 52 4f 57 49 46 4f 53 45 | 52 52 28 4d 41 49 6e 74 |ROWIFOSE|RR(MAInt|
|00005f10| 65 72 61 63 74 57 69 74 | 68 55 73 65 72 28 6b 4e |eractWit|hUser(kN|
|00005f20| 6f 54 69 6d 65 4f 75 74 | 2c 20 67 4e 6f 74 69 66 |oTimeOut|, gNotif|
|00005f30| 69 63 61 74 69 6f 6e 50 | 74 72 2c 20 67 4d 61 63 |icationP|tr, gMac|
|00005f40| 41 70 70 41 70 70 6c 65 | 45 76 65 6e 74 49 64 6c |AppApple|EventIdl|
|00005f50| 65 50 72 6f 63 29 29 3b | 0d 09 09 09 09 09 09 09 |eProc));|........|
|00005f60| 09 09 09 09 09 09 09 09 | 74 61 72 67 65 74 20 3d |........|target =|
|00005f70| 20 28 54 45 76 65 6e 74 | 48 61 6e 64 6c 65 72 2a | (TEvent|Handler*|
|00005f80| 29 20 67 56 69 65 77 53 | 65 72 76 65 72 2d 3e 4e |) gViewS|erver->N|
|00005f90| 65 77 54 65 6d 70 6c 61 | 74 65 57 69 6e 64 6f 77 |ewTempla|teWindow|
|00005fa0| 28 28 73 68 6f 72 74 29 | 20 28 28 68 61 6e 64 6c |((short)| ((handl|
|00005fb0| 65 72 44 61 74 61 2a 29 | 20 64 61 74 61 29 2d 3e |erData*)| data)->|
|00005fc0| 61 63 74 69 6f 6e 50 61 | 72 61 6d 2c 20 4e 55 4c |actionPa|ram, NUL|
|00005fd0| 4c 29 3b 0d 09 09 09 09 | 09 09 09 09 09 09 09 09 |L);.....|........|
|00005fe0| 09 09 09 54 48 52 4f 57 | 49 46 4e 55 4c 4c 28 74 |...THROW|IFNULL(t|
|00005ff0| 61 72 67 65 74 29 3b 0d | 09 09 09 09 09 09 09 09 |arget);.|........|
|00006000| 09 09 09 09 09 09 09 7b | 0d 09 09 09 09 09 09 09 |.......{|........|
|00006010| 09 09 09 09 09 09 09 09 | 09 54 57 69 6e 64 6f 77 |........|.TWindow|
|00006020| 2a 20 74 61 72 67 65 74 | 57 69 6e 64 6f 77 20 3d |* target|Window =|
|00006030| 20 28 54 57 69 6e 64 6f | 77 2a 29 20 74 61 72 67 | (TWindo|w*) targ|
|00006040| 65 74 3b 0d 09 09 09 09 | 09 09 09 09 09 09 09 09 |et;.....|........|
|00006050| 09 09 09 09 74 61 72 67 | 65 74 57 69 6e 64 6f 77 |....targ|etWindow|
|00006060| 2d 3e 4f 70 65 6e 28 29 | 3b 0d 09 09 09 09 09 09 |->Open()|;.......|
|00006070| 09 09 09 09 09 09 09 09 | 09 09 74 61 72 67 65 74 |........|..target|
|00006080| 57 69 6e 64 6f 77 2d 3e | 50 6f 73 65 4d 6f 64 61 |Window->|PoseModa|
|00006090| 6c 6c 79 28 29 3b 0d 09 | 09 09 09 09 09 09 09 09 |lly();..|........|
|000060a0| 09 09 09 09 09 09 09 74 | 61 72 67 65 74 57 69 6e |.......t|argetWin|
|000060b0| 64 6f 77 2d 3e 43 6c 6f | 73 65 28 29 3b 09 2f 2f |dow->Clo|se();.//|
|000060c0| 20 66 6f 72 6d 65 72 6c | 79 20 43 6c 6f 73 65 41 | formerl|y CloseA|
|000060d0| 6e 64 46 72 65 65 28 29 | 3b 20 77 68 69 63 68 20 |ndFree()|; which |
|000060e0| 69 73 20 6e 6f 77 20 64 | 65 70 72 65 63 61 74 65 |is now d|eprecate|
|000060f0| 64 0d 09 09 09 09 09 09 | 09 09 09 09 09 09 09 09 |d.......|........|
|00006100| 09 09 64 65 6c 65 74 65 | 20 74 61 72 67 65 74 57 |..delete| targetW|
|00006110| 69 6e 64 6f 77 3b 0d 09 | 09 09 09 09 09 09 09 09 |indow;..|........|
|00006120| 09 09 09 09 09 09 7d 0d | 09 09 09 09 09 09 09 09 |......}.|........|
|00006130| 09 09 09 09 09 09 09 62 | 72 65 61 6b 3b 0d 0d 09 |.......b|reak;...|
|00006140| 09 63 61 73 65 20 6b 45 | 76 65 6e 74 41 63 74 69 |.case kE|ventActi|
|00006150| 6f 6e 3a 09 09 09 09 74 | 61 72 67 65 74 2d 3e 48 |on:....t|arget->H|
|00006160| 61 6e 64 6c 65 45 76 65 | 6e 74 28 28 28 68 61 6e |andleEve|nt(((han|
|00006170| 64 6c 65 72 44 61 74 61 | 2a 29 20 64 61 74 61 29 |dlerData|*) data)|
|00006180| 2d 3e 61 63 74 69 6f 6e | 50 61 72 61 6d 2c 20 66 |->action|Param, f|
|00006190| 4f 77 6e 65 72 2c 20 4e | 55 4c 4c 29 3b 0d 09 09 |Owner, N|ULL);...|
|000061a0| 09 09 09 09 09 09 09 09 | 09 09 09 09 09 62 72 65 |........|.....bre|
|000061b0| 61 6b 3b 0d 0d 09 09 63 | 61 73 65 20 6b 4d 65 6e |ak;....c|ase kMen|
|000061c0| 75 43 6f 6d 6d 61 6e 64 | 41 63 74 69 6f 6e 3a 09 |uCommand|Action:.|
|000061d0| 74 61 72 67 65 74 2d 3e | 48 61 6e 64 6c 65 4d 65 |target->|HandleMe|
|000061e0| 6e 75 43 6f 6d 6d 61 6e | 64 28 28 28 68 61 6e 64 |nuComman|d(((hand|
|000061f0| 6c 65 72 44 61 74 61 2a | 29 20 64 61 74 61 29 2d |lerData*|) data)-|
|00006200| 3e 61 63 74 69 6f 6e 50 | 61 72 61 6d 29 3b 0d 09 |>actionP|aram);..|
|00006210| 09 09 09 09 09 09 09 09 | 09 09 09 09 09 09 62 72 |........|......br|
|00006220| 65 61 6b 3b 0d 0d 09 09 | 63 61 73 65 20 6b 55 70 |eak;....|case kUp|
|00006230| 64 61 74 65 41 63 74 69 | 6f 6e 3a 09 09 09 09 74 |dateActi|on:....t|
|00006240| 61 72 67 65 74 2d 3e 43 | 68 61 6e 67 65 64 28 28 |arget->C|hanged((|
|00006250| 28 68 61 6e 64 6c 65 72 | 44 61 74 61 2a 29 20 64 |(handler|Data*) d|
|00006260| 61 74 61 29 2d 3e 61 63 | 74 69 6f 6e 50 61 72 61 |ata)->ac|tionPara|
|00006270| 6d 2c 20 66 4f 77 6e 65 | 72 29 3b 0d 09 09 09 09 |m, fOwne|r);.....|
|00006280| 09 09 09 09 09 09 09 09 | 09 09 09 62 72 65 61 6b |........|...break|
|00006290| 3b 0d 0d 09 09 63 61 73 | 65 20 6b 53 65 74 55 73 |;....cas|e kSetUs|
|000062a0| 65 72 56 61 6c 75 65 41 | 63 74 69 6f 6e 3a 0d 0d |erValueA|ction:..|
|000062b0| 23 69 66 64 65 66 20 48 | 41 4e 44 4c 45 5f 42 41 |#ifdef H|ANDLE_BA|
|000062c0| 53 45 44 5f 4f 42 4a 45 | 43 54 53 0d 09 09 09 09 |SED_OBJE|CTS.....|
|000062d0| 09 09 09 09 09 09 09 09 | 09 09 09 69 66 20 28 71 |........|...if (q|
|000062e0| 44 65 62 75 67 20 26 26 | 20 21 49 73 4d 65 6d 62 |Debug &&| !IsMemb|
|000062f0| 65 72 43 6c 61 73 73 49 | 44 28 74 61 72 67 65 74 |erClassI|D(target|
|00006300| 2c 20 47 65 74 43 6c 61 | 73 73 49 44 46 72 6f 6d |, GetCla|ssIDFrom|
|00006310| 53 69 67 6e 61 74 75 72 | 65 28 6b 53 74 64 56 69 |Signatur|e(kStdVi|
|00006320| 65 77 29 29 29 0d 23 65 | 6c 73 65 0d 09 09 09 09 |ew))).#e|lse.....|
|00006330| 09 09 09 09 09 09 09 09 | 09 09 09 69 66 20 28 71 |........|...if (q|
|00006340| 44 65 62 75 67 20 26 26 | 20 4d 41 5f 4d 45 4d 42 |Debug &&| MA_MEMB|
|00006350| 45 52 28 74 61 72 67 65 | 74 2c 20 54 56 69 65 77 |ER(targe|t, TView|
|00006360| 29 29 0d 23 65 6e 64 69 | 66 0d 09 09 09 09 09 09 |)).#endi|f.......|
|00006370| 09 09 09 09 09 09 09 09 | 09 09 50 52 4f 47 52 41 |........|..PROGRA|
|00006380| 4d 42 52 45 41 4b 28 22 | 49 6e 20 54 48 61 6e 64 |MBREAK("|In THand|
|00006390| 6c 65 72 42 65 68 61 76 | 69 6f 72 3a 20 61 74 74 |lerBehav|ior: att|
|000063a0| 65 6d 70 74 20 74 6f 20 | 73 65 74 20 75 73 65 72 |empt to |set user|
|000063b0| 20 76 61 6c 75 65 20 6f | 66 20 6e 6f 6e 20 54 56 | value o|f non TV|
|000063c0| 69 65 77 20 6f 62 6a 65 | 63 74 22 29 3b 0d 23 69 |iew obje|ct");.#i|
|000063d0| 66 20 71 4d 61 63 41 70 | 70 56 65 72 73 69 6f 6e |f qMacAp|pVersion|
|000063e0| 20 3e 20 33 33 0d 09 09 | 09 09 09 09 09 09 09 09 | > 33...|........|
|000063f0| 09 09 09 09 09 28 28 54 | 56 69 65 77 2a 29 20 74 |.....((T|View*) t|
+--------+-------------------------+-------------------------+--------+--------+
Only 25.0 KB of data is shown above.